home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Revista CD Expert 8
/
Revista CD Expert nº 08 CD1.iso
/
Utilitarios
/
Programacao
/
MS-DOS Interrupt List
/
inter60d
/
PORTS.C
< prev
next >
Wrap
Text File
|
1999-01-03
|
171KB
|
4,497 lines
Ports List, part 3 of 3
Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999 Ralf Brown
----------P0AD60AD7--------------------------
PORT 0AD6-0AD7 - Chips & Technologies PC Video (82C9001A) - CONTROL REGISTERS
Range: Address determined by status of CS# input at RESET. If CS# input is
low on falling edge of RESET, then address is fixed at 0AD6-0AD7h;
otherwise, the programmable address is used.
Note: register FFh is write-only and all other registers are disabled if
register FFh bit 0 is cleared.
SeeAlso: PORT 03D4h
0AD6 -W index for accesses to data port (see #P0924)
0AD7 RW data port
(Table P0924)
Values for Chips & Technologies PC Video (82C9001A) control registers:
00h I/O Address Register (see #P0925)
01h Memory Access Register (see #P0926)
06h Linear Memory Base Address Register (see #P0927)
07h Luminance Data Mask Register (enabled by register 01h bit 4)
(0 prevents data modification during video data acquisition
in corresponding bit position)
08h Chrominance Data Mask Register (enabled by register 01h bit 4)
(0 prevents data modification during video data acquisition
in corresponding bit position)
09h Interupt Mask/Polling Register (see #P0928)
10h General Purpose I/O Register 0
11h General Purpose I/O Register 1
12h General Purpose I/O Register 2
13h General Purpose I/O Register 3
18h General Purpose I/O Control Register (see #P0929)
20h Video Acquisition Mode Register (see #P0930)
21h Acquisition Window Control Register (see #P0931)
22h Acquisition Window X-Start Low Byte Register
(X-Start is measured in input pixel clocks, referenced to trailing
edge of video Hsync)
23h Acquisition Window X-Start High Byte Register (two high order bits)
24h Acquisition Window Y-Start Low Byte Register
(Y-Start is measured in input lines, referenced to trailing edge of
video Vsync + V Start Adjust (register 30h))
25h Acquisition Window Y-Start High Byte Register (two high order bits)
26h Acquisition Window X-End Low Byte Register
(X-End is measured in input pixel clocks, referenced to trailing edge
of video Hsync)
27h Acquisition Window X-End High Byte Register (two high order bits)
28h Acquisition Window Y-End Low Byte Register
(measured in input lines, referenced to trailing edge of
video Vsync + V Start Adjust (register 30h))
29h Acquisition Window Y-End High Byte Register (two high order bits)
2Ah Acquisition Write Address Low Register
(points to frame memory location where video acquisition starts;
at end of video line reset to beginning and offset of 1024 bytes
is added for start address of next line)
2Bh Acquisition Write Address Middle Register
2Ch Acquisition Write Address High Register (4 high order bits)
2Dh Acquisition Horizontal-Scaling Register (see #P0932)
2Eh Acquisition Vertical-Scaling Register (see #P0933)
2Fh Scaling Field Adjust Register (see #P0934)
30h Input Video Start Adjust (see #P0935)
38h Scaling Control Register (see #P0936)
40h Display Area Control Register (see #P0937)
41h Display Window X-Start Low Byte Register
(defines start of horizontal display window; measured in VGA pixel
clocks, referenced to trailing edge of VGA Hsync)
42h Display Window X-Start High Byte Register (three high order bits)
43h Display Window Y-Start Low Byte Register
(defines start of vertical display window; measured in VGA lines,
referenced to trailing edge of VGA Vsync)
44h Display Window Y-Start High Byte Register (two high order bits)
45h Display Window X-End Low Byte Register
(defines end of horizontal display window; measured in VGA pixel
clocks, referenced to trailing edge of VGA Hsync)
46h Display Window X-End High Byte Register (three high order bits)
47h Display Window Y-End Low Byte Register
(defines start of vertical display window; measured in VGA lines,
referenced to trailing edge of VGA Vsync)
48h Display Window Y-End High Byte Register (two high order bits)
49h Display Window X-Panning Low Register
(defines display buffer column address times 2, loaded during data
transfer cycle in VRAMs; for 4:1:1 encoding bit 0 should be set to 0)
4Ah Display Window Y-Panning Low Register
(defines display buffer row, loaded for first active display line)
4Bh Display Window X/Y-Panning High Register (see #P0938)
4Ch Shift Clock Start Register (7 bits)
(defines end of display blank relative to VGA Hsync trailing edge)
4Dh Sync Polarity/Zoom Register (see #P0939)
4Eh VGA Color Compare Register (see #P0940)
4Fh VGA Color Mask Register (see #P0941)
50h Display Window Interlace Control (see #P0942)
FFh Version/Global Enable Register (see #P0943)
Bitfields for Chips & Technologies PC Video (82C9001A) I/O Address Register:
Bit(s) Description (Table P0925)
7-1 I/O address bits 7-1
(These bits are compared with address inputs (A7-1) to detect
valid I/O address. If CS# is low on RESET, this register is
initialized to D6h. If CS# is high on RESET, this register is
loaded with value present on data inputs (D7-1) during first
I/O on the chip (IOWR# = 0 and CS# = 0).)
0 reserved
SeeAlso: #P0924,#P0926,#P0927
Bitfields for Chips & Technologies PC Video (82C9001A) Memory Access Register:
Bit(s) Description (Table P0926)
7-5 reserved
4 VRAM write mask enable (enables registers 07h and 08h)
3-0 reserved
SeeAlso: #P0924,#P0925,#P0927,#P0928
Bitfields for Chips & Technologies PC Video (82C9001A) Linear Memory Base:
Bit(s) Description (Table P0927)
7-5 reserved
4 reserved (1)
3-0 linear memory space starting address (in 1MB units)
SeeAlso: #P0924,#P0925
Bitfields for Chips & Technologies PC Video (82C9001A) Interupt Mask/Polling:
Bit(s) Description (Table P0928)
7-6 reserved
5 VGA Hsync status
4 VGA Vsync status
3 video field status
0 = even
1 = odd
2 video Vsync status
1 video odd Vsync interrupt enable
0 video even Vsync interrupt enable
SeeAlso: #P0924,#P0221
Bitfields for Chips & Technologies PC Video (82C9001A) General Purpose I/O:
Bit(s) Description (Table P0929)
7 general purpose I/O 3
0 = output decode of register 13h on GPIO3
1 = reserved
6 general purpose I/O 2
0 = output decode of register 12h on GPIO2
1 = reserved
5 general purpose I/O 1
0 = output "PLLHREF" on GPIO1
1 = output decode of register 11h on GPIO1
4 general purpose I/O 0
0 = output decode of register 10h on GPIO0
1 = reserved
3 reserved
2 I2C bus read back
(status of I2CI pin when I2CK pin goes from 0 to 1)
1 I2C bus data (refer to I2C.LST for more details on the I2C bus)
0 I2C bus clock
SeeAlso: #P0924
Bitfields for Chips & Technologies PC Video (82C9001A) Video Acquisition Mode:
Bit(s) Description (Table P0930)
7 video input is non-interlace
6 reserved
5 video input Vsync polarity is active high
4 video input Hsync polarity is active high
3 video input even/odd acquire
0 = even (first) field
1 = odd (second) field
2 video acquire field/frame
0 = frame
1 = field (interlaced mode only)
1 video acquisition single/continuous
0 = continuous
1 = single (bit 0 cleared at the end)
0 video acquisition start/stop
0 = stop (allows CPU access to frame buffer)
1 = start
SeeAlso: #P0924
Bitfields for Chips & Technologies PC Video (82C9001A) Window Control:
Bit(s) Description (Table P0931)
7 invert field polarity
6 select external field
0 = internal field (field detected 1 XCLK after trailing edge of
XVSYNC input bit)
1 = field bit input through XFLD pin and reclocked by XCLK before
XFLD use (XFLD input transition after trailing edge of XVSYNC;
0 on XFLD = even field, 1 on XFLD = odd field)
5 multiplexing ratio for luminance and chrominance input data
(active if bit 4 = 0)
0 = 4:1:1 / 2:1:1
1 = 4:2:2
4 video input data multiplexing
0 = multiplexed (YUV)
1 = non-multiplexed (RGB)
3 video input vertical scaling enable
2 video input horizontal scaling enable
1 video capture
0 = inside cropping window
1 = outside cropping window
0 video input cropping enable
SeeAlso: #P0924,#P0935,#P0937
Bitfields for Chips & Technologies PC Video (82C9001A) Horizontal Scaling:
Bit(s) Description (Table P0932)
7-6 reserved
5-0 number of pixels written per 64 input pixels
(valid values are 1-63; enabled by register 21h bit 2)
SeeAlso: #P0924,#P0933,#P0934
Bitfields for Chips & Technologies PC Video (82C9001A) Vertical Scaling:
Bit(s) Description (Table P0933)
7 reserved
6-0 number of pixels written per 64 input pixels
(valid values are 1-63; enabled by register 21h bit 3)
SeeAlso: #P0924,#P0932,#P0934
Bitfields for Chips & Technologies PC Video (82C9001A) Scaling Field Adjust:
Bit(s) Description (Table P0934)
7 reserved
6-0 modify scaling value for odd field during acquisition
(diagnostic register, set to same value as register 2Eh for normal
operation)
SeeAlso: #P0924,#P0932,#P0936
Bitfields for Chips & Technologies PC Video (82C9001A) Input Video Start:
Bit(s) Description (Table P0935)
7-6 reserved
5-0 number of scan lines from trailing edge of video Vsync to start of
active video frame
(should always be programmed with non-zero value)
SeeAlso: #P0924,#P0931
Bitfields for Chips & Technologies PC Video (82C9001A) Scaling Control:
Bit(s) Description (Table P0936)
7 fast write enable
6-5 reserved (0 for normal operation)
4 Y-max enable
(prevents wrap around of memory Y-address; should be enabled for
PAL video data)
3 X-max enable (prevents wrap around of memory X-address)
2 Y-over-write mode
(should be set to 1 when vertical scaling less than 1/2 to reduce
motion artifacts)
0 = normal scaling
1 = modified scaling
1-0 chrominance multiplex adjust bits
(adjust to maintain luminance/chrominance alignment)
SeeAlso: #P0924,#P0934
Bitfields for Chips & Technologies PC Video (82C9001A) Display Area Control:
Bit(s) Description (Table P0937)
7-6 skew between VGA data input and multiplexer control output
00 = 2 VGA clock delay
01 = 3 VGA clock delay
10 = 4 VGA clock delay
11 = 5 VGA clock delay
5 both X-Y window and color key area (function 3)
(does not exist if bit 0 = 0 or bit 1 = 0)
0 = display VGA
1 = display frame buffer data
4 color key only area (function 2)
(does not exist if bit 1 = 0)
0 = display VGA
1 = display frame buffer data
3 X-Y window only area (function 1)
(does not exist if bit 0 = 0)
0 = display VGA
1 = display frame buffer data
2 non-color key or X-Y window area (function 0)
0 = display VGA
1 = display frame buffer data
1 overlay window using color keying enable
0 overlay window using X-Y window enable
SeeAlso: #P0924,#P0931
Bitfields for Chips & Technologies PC Video (82C9001A) X/Y-Panning High:
Bit(s) Description (Table P0938)
7-5 reserved
4 high bit of row offset (register 4Ah)
3-1 reserved
0 high bit of column offset (register 49h)
SeeAlso: #P0924
Bitfields for Chips & Technologies PC Video (82C9001A) Sync Polarity/Zoom:
Bit(s) Description (Table P0939)
7-6 reserved
5 VGA Vsync polarity is active high
4 VGA Hsync polarity is active high
3-2 vertical zoom
00 = no zoom
01 = 2x
10 = 4x
11 = 8x
1-0 horizontal zoom (same values as vertical zoom)
SeeAlso: #P0924
Bitfields for Chips & Technologies PC Video (82C9001A) VGA Color Compare:
Bit(s) Description (Table P0940)
7-0 defines values VGA data must have for color match
0 = VGA data must be 0
1 = VGA data must be 1
SeeAlso: #P0924,#P0941
Bitfields for Chips & Technologies PC Video (82C9001A) VGA Color Mask Register:
Bit(s) Description (Table P0941)
7-0 defines bit position where VGA and color value must match
0 = VGA data must match color value
1 = don't care
SeeAlso: #P0924,#P0940
Bitfields for Chips & Technologies PC Video (82C9001A) Interlace Control:
Bit(s) Description (Table P0942)
7-5 reserved
4 replicate odd/even field (if bit 3 = 1)
0 = odd
1 = even
3 replicate field
0 = do not replicate
1 = replicate even/odd (depending on bit 4)
2 invert display window field signal polarity (if bit 0 = 1)
0 = do not modify
1 = invert
1 select external display window field signal (if bit 0 = 1)
0 = internal
1 = VFLD input
0 display window is interlaced
SeeAlso: #P0924
Bitfields for Chips & Technologies PC Video (82C9001A) Version/Global Enable:
Bit(s) Description (Table P0943)
7-4 PC Video version number
3 reserved
2 IOWR# delay (write-only)
0 = IOWR# input delayed inside chip by 2 XCLK cycles
1 = IOWR# input not delayed
1 enable memory (write-only)
0 PC Video global enable (write-only)
0 = index register and register FFh are write only and all other
registers are disabled
1 = all registers are read/write
SeeAlso: #P0924
----------P0AE20AE3--------------------------
PORT 0AE2-0AE3 - cluster (adapter 2)
----------P0AE8------------------------------
PORT 0AE8 - S3 86C928 video controller (ELSA Winner 1000)
----------P0AE80AEF--------------------------
PORT 0AE8-0AEF - 8514/A and compatible (e.g. ATI Graphics Ultra) - HSYNC START
0AE8w -W CRT control: horizontal sync start
----------P0B900B93--------------------------
PORT 0B90-0B93 - cluster (adapter 2)
----------P0C00------------------------------
PORT 0C00 - EISA??? - PAGE REGISTER
0C00 RW page register to write to SRAM or I/O
--------X-P0C000CFF--------------------------
PORT 0C00-0CFF - reserved for EISA system motherboard
----------P0C7C------------------------------
PORT 0C7C bit 7-4 (Compaq)
--------X-P0C800C83--------------------------
PORT 0C80-0C83 - EISA system board ID registers
0C80 R- bit 7: unused (0)
bits 6-2: manufacturer ID, first compressed ASCII char
bits 1-0: manufacturer ID, second compressed ASCII char (high)
0C81 R- bits 7-5: manufacturer ID, second compressed ASCII char (low)
bits 4-0: manufacturer ID, third compressed ASCII char
0C82 R- reserved for manufacturer's use
0C83 R- bits 7-3: reserved for manufacturer's use
bits 2-0: EISA bus version
--------X-P0CF80CFF--------------------------
PORT 0CF8-0CFF - PCI Configuration Mechanism 1 - Configuration Registers
SeeAlso: PORT 0CF8h"Mechanism 2"
0CF8d -W configuration address port (see #P0944)
0CFCd RW configuration data port (when PORT 0CF8h bit 31 is set)
Bitfields for PCI configuration address port:
Bit(s) Description (Table P0944)
1-0 reserved (00)
7-2 configuration register number (see #00878)
10-8 function
15-11 device number
23-16 bus number
30-24 reserved (0)
31 enable configuration space mapping
Note: configuration registers are considered DWORDs, so the number in bits
7-2 is the configuration space address shifted right two bits
SeeAlso: #P0945
--------X-P0CF80CFA--------------------------
PORT 0CF8-0CFA - PCI Configuration Mechanism 2 - Configuration Registers
Notes: this configuration mechanism is deprecated as of PCI version 2.1;
only mechanism 1 should be used for new systems
to access the configuration space, write the target bus number to
the Forward Register, then write to the Configuration Space
Enable register, and finally read or write the appropriate I/O
port(s) in the range C000h to CFFFh (where Cxrrh accesses location
'rr' in physical device 'x's configuration data)
the Intel "Saturn" and "Neptune" chipsets use configuration mechanism 2
SeeAlso: PORT 0CF8h"Mechanism 1",PORT C000h"PCI Configuration",PORT 0CFBh
0CF8 RW Configuration Space Enable (CSE) (see #P0945)
0CFA RW Forward Register (selects target bus number)
Bitfields for PCI Configuration Space Enable:
Bit(s) Description (Table P0945)
0 Special Cycle Enable (SCE)
3-1 target function number (PCI logical device within physical device)
7-4 key (non-zero to allow configuration)
SeeAlso: #P0944
----------P0CF9------------------------------
PORT 0CF9 - Intel chipsets - TURBO/RESET CONTROL REGISTER
Notes: this port can only be accessed via 8-bit IN or OUT instructions by
the CPU
supported by the Intel "Saturn" and "Neptune" (82434NX) chipsets,
the Intel 82454KX/GX (450GX chipset), Intel 82420EX chipset, etc.
SeeAlso: PORT C051h,#01055,#01239
0CF9 RW reboot system, optionally selecting de-turbo mode (see #P0946)
Bitfields for Intel 82420EX turbo/reset control register:
Bit(s) Description (Table P0946)
7-4 reserved (0)
3 (450KX/GX only) enable CPU BIST on reset
2 reset CPU
1 reset mode
0 soft reset
1 hard reset
0 deturbo mode
Note: when resetting the CPU, two writes are required: the first sets the
state of bit 1 while keeping bit 2 cleared, and the second sets
bit 2; the reset occurs on bit 2's transition from 0 to 1.
SeeAlso: PORT C051h
----------P0CFB------------------------------
PORT 0CFB - Intel 82434NX (Neptune) - PCI MECHANISM CONTROL REGISTER
Note: not present on the 82434LX (Mercury), which supports only mechanism #2
SeeAlso: PORT 0CF8h
0CFB RW specify which PCI access mechanism is to be enabled
Bitfields for Intel 82434NX PCI mechanism control register:
Bit(s) Description (Table P0947)
7-1 reserved
0 PCI Configuration Access Mechanism Select
=0 use PCI configuration access mechanism #2 (0CF8/0CFA) (default)
=1 use PCI configuration access mechanism #1 (0CF8/0CFC)
--------s-P0E800E83--------------------------
PORT 0E80-0E83 - Gravis Ultra Sound Daughter Card by Advanced Gravis
Range: dipswitch selectable from PORT 0530h-0533h, PORT 0604h-0607h,
PORT 0E80h-0E83h, and PORT 0F40h-0F43h
--------s-P0E800E87--------------------------
PORT 0E80-0E87 - Windows Sound System
Range: PORT 0530h-0537h,PORT 0604h-060Bh,PORT 0E80h-0E87h,PORT 0F40h-0F47h
SeeAlso: PORT 0530h"Sound System"
--------V-P0EE8------------------------------
PORT 0EE8 - S3 86C928 video controller (ELSA Winner 1000)
--------V-P0EE80EEF--------------------------
PORT 0EE8-0EEF - 8514/A and compatible (e.g. ATI Graphics Ultra) - HSYNC WIDTH
0EE8w -W CRT control: horizontal sync width
--------s-P0F400F43--------------------------
PORT 0F40-0F43 - Gravis Ultra Sound Daughter Card by Advanced Gravis
Range: dipswitch selectable from PORT 0530h-0533h, PORT 0604h-0607h,
PORT 0E80h-0E83h, and PORT 0F40h-0F43h
--------s-P0F400F47--------------------------
PORT 0F40-0F47 - Windows Sound System
Range: PORT 0530h-0537h,PORT 0604h-060Bh,PORT 0E80h-0E87h,PORT 0F40h-0F47h
SeeAlso: PORT 0530h"Sound System"
--------s-P0F8D------------------------------
PORT 0F8D - OPTi 82C750 (Vendetta) - AUDIO MODULE BASE ADDRESS REGISTER
SeeAlso: PORT 0F8Eh,PORT 0530h"Vendetta"
0F8D RW "MCBase" base register (see #P0948)
Bitfields for OPTi "Vendetta" (82C750) audio module base register:
Bit(s) Description (Table P0948)
7 index/data port access protection disable
6-5 reserved
4-0 index/data port address bits 8-4
(bits 15-9 = 0000111; bits 3-0 = 1110 for index port, data port +1)
SeeAlso: #P0949
----------P0F8E0F8F--------------------------
PORT 0F8E-0F8F - OPTi "Vendetta" (82C750) CHIPSET - Audio Module Data Registers
Range: The I/O address range is selectable using port 0F8Dh from among
0ExE-0ExF and 0FxE-0FxF
SeeAlso: PORT 0F8Dh,PORT 0530h"Vendetta"
0F8E RW "MCIdx" index register (see #P0949)
0F8F RW "MCData" data register
(Table P0949)
Values for OPTi "Vendetta" (82C750) Audio Module configuration registers:
00h disable
01h base/type configuration register (see #P0950)
02h reserved
03h Sound Blaster/Windows Sound System configuration register (see #P0951)
04h user programmable general purpose register (see #P0952)
05h option register (see #P0953)
06h MIDI interface register (write-only) (see #P0954)
07h semaphore software register
08h reserved
09h test control register 1 (see #P0955)
0Ah test control register 2 (see #P0956)
0Bh status register (read-only) (see #P0957)
0Ch test register (see #P0958)
0Dh PNP status register (read-only) (see #P0959)
0Eh PNP card select number register (read-only)
0Fh PNP read port address register (read-only)
10h volume control register (see #P0960)
11h reserved (serial EEPROM)
12h CONFIG status register (see #P0961)
13h FM control register (see #P0962)
14h reserved (GPIO control)
15h serial audio control register 0 (see #P0963)
16h serial audio control register 1 (see #P0964)
17h reserved
Bitfields for OPTi "Vendetta" Audio Module base/type configuration register:
Bit(s) Description (Table P0950)
7 Sound Blaster base I/O address
0 = 220h
1 = 240h
6 reserved
5-4 Windows Sound System base I/O address
00 = 530h
01 = E80h
10 = F40h
11 = 640h
3-1 reserved
0 game port enable
SeeAlso: #P0949
Bitfields for OPTi "Vendetta" Audio Module SB/WSS configuration register:
Bit(s) Description (Table P0951)
7 reserved
6 reserved (0 for normal WSS operation)
5-3 digital audio processor IRQ
000 = disable
001 = IRQ7
010-100 = IRQ9-IRQ11
101 = IRQ5
110-111 = reserved
2-0 digital audio processor DMA
000 = disable
001-010 = QRQ0-DRQ1
011 = DRQ3
100 = disable, DRQ1 (if dual channel DMA mode)
101 = DRQ0, DRQ1 (if dual channel DMA mode)
110 = DRQ1, DRQ0 (if dual channel DMA mode)
111 = DRQ3, DRQ0 (if dual channel DMA mode)
SeeAlso: #P0949
Bitfields for OPTi "Vendetta" Audio Module user programmable general purpose:
Bit(s) Description (Table P0952)
7-6 playback FIFO flow
00 = empty
01 = full-2
10 = full-4
11 = not full
5-4 OPL select
00 = OPL2
01 = OPL3
10 = OPL4
11 = OPL5
3 D/A controller zero
0 = hold
1 = clear
2 audio enable
1-0 Sound Blaster version
00 = 2.1
01 = 1.5
10 = 3.2
11 = 4.4
SeeAlso: #P0949
Bitfields for OPTi "Vendetta" Audio Module option register:
Bit(s) Description (Table P0953)
7-6 reserved
5 codec expanded mode enable
(must be set to access expanded mode codec indirect registers
10h-1Fh)
4 Sound Blaster ADPCM enable
3 Sound Blaster command FIFO enable
2 Sound Blaster Pro mixer voice volume emulation volume effect enable
1 DMA watchdog timer enable
0 reserved
SeeAlso: #P0949
Bitfields for OPTi "Vendetta" Audio Module MIDI interface register:
Bit(s) Description (Table P0954)
7 MPU-401 enable
6-5 MPU-401 base address
00 = 330h
01 = 320h
10 = 310h
11 = 300h
4-3 MPU-401 IRQ
00 = IRQ9
01 = IRQ10
10 = IRQ5
11 = IRQ7
2 reserved
1 Windows Sound System mode enable
0 Sound Blaster mode enable
SeeAlso: #P0949
Bitfields for OPTi "Vendetta" Audio Module test control register 1:
Bit(s) Description (Table P0955)
7 digital power-down
6 analog power-down
5-2 reserved
1 software reset enable
0 reserved
SeeAlso: #P0949
Bitfields for OPTi "Vendetta" Audio Module test control register 2:
Bit(s) Description (Table P0956)
7 playback reset
6 capture reset
3 PNP test
2-0 reserved
SeeAlso: #P0949
Bitfields for OPTi "Vendetta" Audio Module status register:
Bit(s) Description (Table P0957)
7 playback DMA pending
6 capture DMA pending
5 MPU interrupt pending
4 reserved
3 capture interrupt pending
2 playback interrupt pending
1 playback FIFO empty
0 capture FIFO empty
SeeAlso: #P0949
Bitfields for OPTi "Vendetta" Audio Module test register:
Bit(s) Description (Table P0958)
7-5 reserved
4 digital test output high/low byte (write-only)
3-0 digital test output select (write-only)
SeeAlso: #P0949
Bitfields for OPTi "Vendetta" Audio Module PNP status register:
Bit(s) Description (Table P0959)
7 CSN not 0, active high
1 = CSN assigned by PNP configuration manager
6-5 reserved
4 audio module logical device enable
3 1 = audio module PNP logic in CONFIG mode
2 1 = audio module PNP logic in ISOLATE mode
1 1 = audio module PNP logic in SLEEP mode
0 1 = audio module PNP logic in WAIT4KEY mode
SeeAlso: #P0949
Bitfields for OPTi "Vendetta" Audio Module volume control register:
Bit(s) Description (Table P0960)
7-4 reserved
3 master volume mute
2-0 reserved
SeeAlso: #P0949
Bitfields for OPTi "Vendetta" Audio Module CONFIG status register:
Bit(s) Description (Table P0961)
7 reserved
6 ASIO enable
5-4 reserved
3-0 chip revision ID (read-only)
SeeAlso: #P0949
Bitfields for OPTi "Vendetta" Audio Module FM control register:
Bit(s) Description (Table P0962)
7-3 reserved
2 mega bass enable
1 enhanced FM feature OPTi mode enable
0 external FM enable
SeeAlso: #P0949
Bitfields for OPTi "Vendetta" Audio Module serial audio control register 0:
Bit(s) Description (Table P0963)
7-6 FDAC clock controller
00 = reserved
01 = internal FM
10 = reserved
11 = external serial audio
5-2 reserved
1 FDAC data
0 = internal FM
1 = external serial audio
0 reserved
SeeAlso: #P0949
Bitfields for OPTi "Vendetta" Audio Module serial audio control register 1:
Bit(s) Description (Table P0964)
7 ASIO reset
6 ASIO test
5-4 reserved
3 SCLK polarity
0 = reverse
1 = no change
2 FSYNC polarity
0 = reverse
1 = no change
1-0 reserved
SeeAlso: #P0949
----------P0xx00xxF--------------------------
PORT 0xx0-0xxF - Intel 82595TX - ISA/PCMCIA Ethernet Controller
Range: at any multiple of 16 in first 1024 I/O addresses
+000 RW command register (see #P0965)
--- I/O bank 0 ---
+001 RW status register (see #P0966)
+002 RW id register (see #P0967)
+003 RW mask register (see #P0968)
+004 RW RCV CAR/BAR low
+005 RW RCV CAR/BAR high
+006 RW RCV STOP REG low
+007 RW RCV STOP REG high
+008 RW RCV copy treshold REG
+009 RW reserved
+00A RW XMT CAR/BAR low
+00B RW XMT CAR/BAR high
+00C RW host address reg/32-bit I/O (byte 0) low
+00D RW host address reg/32-bit I/O (byte 1) high
+00E RW local memory/32-bit I/O (byte 2) IO port low
+00F RW local memory/32-bit I/O (byte 3) IO port high
--- I/O bank 1 ---
+001 RW bank 1 register 1 (see #P0969)
+002 RW int select register (see #P0970)
+003 RW I/O mapping register (see #P0971)
+004 RW reserved
+005 RW reserved
+006 RW reserved
+007 RW RCV BOF treshold reg
+008 RW RCV lower limit reg high byte
+009 RW RCV upper limit reg high byte
+00A RW XMT lower limit reg high byte
+00B RW XMT upper limit reg high byte
+00C RW FLASH control register (see #P0972)
+00D RW bank 1 register 13 (see #P0973)
+00E RW reserved
+00F RW reserved
--- I/O bank 2 ---
+001 RW bank 2 register 1 (see #P0974)
+002 RW bank 2 register 2 (see #P0975)
+003 RW bank 2 register 3 (see #P0976)
+004 RW individual address register 0
+005 RW individual address register 1
+006 RW individual address register 2
+007 RW individual address register 3
+008 RW individual address register 4
+009 RW individual address register 5
+00A RW bank 2 register 10 (see #P0977)
+00B RW RCV NO resource counter
+00C RW IAPROM IO port
+00D RW reserved
+00E RW reserved
+00F RW reserved
------
Bitfields for Intel 82595TX command register:
Bit(s) Description (Table P0965)
7-6 bank pointer (if switch bank command written; ignored for other
commands)
00 = bank 0
01 = bank 1
10 = bank 2
5 command (other than transmit) aborted (read-only; should be written 0)
4-0 (write) command OP code
00h = switch bank/nop
03h = MC-setup
04h = transmit
05h = TDR
06h = dump
07h = diagnose
08h = RCV enable
0Ah = RCV disable
0Bh = RCV stop
0Dh = abort
0Eh = reset
14h = XMT no CRC/SA
15h = cont XMT test
16h = set tristate
17h = reset tristate
18h = power down
1Ch = resume XMT list
1Eh = sel reset
(read) execution event (MC done, init done, TDR done, DIAG done)
(if bank 0 register 1 bit 3 = 1)
SeeAlso: #P0966,#P0968
Bitfields for Intel 82595TX status register:
Bit(s) Description (Table P0966)
7-6 RCV states
5-4 EXEC states
3 EXEC INT
2 TX INT
1 RX INT
0 RX STP INT
SeeAlso: #P0965,#P0967,#P0968
Bitfields for Intel 82595TX id register:
Bit(s) Description (Table P0967)
7-6 counter
5 reserved (1)
4 auto enable
3-2 reserved (01)
1-0 reserved (0)
SeeAlso: #P0965,#P0966,#P0968
Bitfields for Intel 82595TX mask register:
Bit(s) Description (Table P0968)
7-6 reserved
5 cur/base
4 32IO/HAR
3 EXEC mask
2 TX mask
1 RX mask
0 RX STP mask
SeeAlso: #P0965,#P0966,#P0969
Bitfields for Intel 82595TX bank 1 register 1:
Bit(s) Description (Table P0969)
7 tri-st INT
6 alt RDY tm
5-2 reserved
1 host bus wd
0 reserved
SeeAlso: #P0965,#P0967,#P0970
Bitfields for Intel 82595TX int select register:
Bit(s) Description (Table P0970)
7 FL/BT detect
6-4 boot EPROM/FLASH decode window
3 reserved
2-0 INT select
Bitfields for Intel 82595TX I/O mapping register:
Bit(s) Description (Table P0971)
7-6 reserved
5-0 I/O mapping window
Bitfields for Intel 82595TX FLASH control register:
Bit(s) Description (Table P0972)
7-6 FLASH page select high
5-4 FLASH write enable
3-0 FLASH page select
Bitfields for Intel 82595TX bank 1 register 13:
Bit(s) Description (Table P0973)
7-3 reserved
2 SMOUT out en
1 AL RDY test
0 AL RDY PAS/FL
Bitfields for Intel 82595TX bank 2 register 1:
Bit(s) Description (Table P0974)
7 disc bad fr
6 TX chn ErStp
5 TX chn int md
4 PCMCIA/ISA
3-1 reserved
0 TX con proc en
Bitfields for Intel 82595TX bank 2 register 2:
Bit(s) Description (Table P0975)
7-6 loopback
5 multi IA
4 no SA ins
3 length enable
2 RX CRC InMem
1 BC DIS
0 PRMSC mode
Bitfields for Intel 82595TX bank 2 register 3:
Bit(s) Description (Table P0976)
7 test 1
6 test 2
5 BNC/TPE
4 APORT
3 jabber disable
2 TPE/AUI
1 pol/corr
0 lnk in disable
Bitfields for Intel 82595TX bank 2 register 10:
Bit(s) Description (Table P0977)
7-5 stepping
4 trnoff enable
3 EEDO
2 EEDI
1 EECS
0 EESK
--------X-P100010FF--------------------------
PORT 1000-10FF - available for EISA slot 1
----------P12E812EF--------------------------
PORT 12E8-12EF - 8514/A and compatible (e.g. ATI Graphics Ultra) - VERT TOTAL
12E8w -W CRT control: vertical total
--------V-P12EE------------------------------
PORT 12EE - ATI Mach32 - CONFIGURATION STATUS 0
SeeAlso: PORT 16EEh"Mach32",PORT 42EEh"Mach32",PORT 52EEh"Mach32"
----------P13901393--------------------------
PORT 1390-1393 - cluster (adapter 3)
----------P13C6------------------------------
PORT 13C6 - Compaq - ???
Note: this port is read by the Compaq MS-DOS 4.0/5.0 CHARSET utility
13C6 R? Compaq video status??? (see #P0978)
Bitfields for Compaq video status???:
Bit(s) Description (Table P0978)
7 ???
6 flag
5-3 ???
2-0 status of display???
--------X-P140014FF--------------------------
PORT 1400-14FF - available for EISA slot 1
----------P16E816EF--------------------------
PORT 16E8-16EF - 8514/A and compatible (e.g. ATI Graphics Ultra) - VERT DISPLYD
16E8w -W CRT control: vertical displayed
--------V-P16EE------------------------------
PORT 16EE - ATI Mach32 - CONFIGURATION STATUS 1
SeeAlso: PORT 12EEh"Mach32",PORT 42EEh"Mach32",PORT 52EEh"Mach32"
--------X-P180018FF--------------------------
PORT 1800-18FF - available for EISA slot 1
----------P1AE81AEF--------------------------
PORT 1AE8-1AEF - 8514/A and compatible (e.g. ATI Graphics Ultra) - VSYNC START
1AE8w -W CRT control: vertical sync start
--------X-P1C001CFF--------------------------
PORT 1C00-1CFF - available for EISA slot 1
--------d-P1C001CBF--------------------------
PORT 1C00-1CBF - Adaptec AIC-777x EISA SCSI controller in EISA slot 1
Notes: Adaptec AIC-777x SCSI controllers have on-board PhaseEngine SCSI
sequence processor which executes its instructions from the 2-Kbyte
sequencer RAM; it treats all of the CPU-addressable registers as its
data memory
AIC-777x SCSI controllers have special on-board RAM and queue registers
for queueing the requests sent from the drivers and BIOS to the
PhaseEngine processor
Adaptec AHA-284x is a VLB SCSI controller based on AIC-7770; it has
a serial EEPROM (93C46) for storing various configuration settings
SeeAlso: PORT 0340h-035Fh"Adaptec AHA-152x",PORT xxxxh"Adaptec AIC-78xx"
+000 RW SCSI sequence control register (SCSISEQ) (see #P0600)
+001 RW SCSI transfer control register 0 (SXFRCTL0) (see #P0979)
+002 RW SCSI transfer control register 1 (SXFRCTL1) (see #P0980)
+003 R- SCSI control signal read register (SCSISIGI) (see #P0603)
+003 -W SCSI control signal write register (SCSISIGO) (see #P0604)
+004 RW SCSI rate control register (SCSIRATE) (see #P0981)
+005 RW SCSI ID register (SCSIID) (see #P0982)
+006 RW SCSI latched data low register (SCSIDATL)
read/write causes -ACK to pulse
+007 RW (Wide SCSI) SCSI latched data high register (SCSIDATH)
read/write causes -ACK to pulse
+008 RW SCSI transfer count register (STCNT) (3 bytes long)
+00B R- SCSI status register 0 (SSTAT0) (see #P0607)
+00B -W clear SCSI interrupt register 0 (CLRSINT0) (see #P0983)
+00C R- SCSI status register 1 (SSTAT1) (see #P0609)
+00C -W clear SCSI interrupt register 1 (CLRSINT1) (see #P0610)
+00D R- SCSI status register 2 (SSTAT2) (see #P0984)
+00E R- SCSI status register 3 (SSTAT3) (see #P0612)
+00F RW SCSI test control register (SCSITEST) (see #P0985)
+010 RW SCSI interrupt mode register 0 (SIMODE0) (see #P0616)
+011 RW SCSI interrupt mode register 1 (SIMODE1) (see #P0617)
+012 RW SCSI data bus low register (SCSIBUSL)
+013 RW (Wide SCSI) SCSI data bus high register (SCSIBUSH)
+014d R- SCSI/host address register (SHADDR)
+018 RW selection timeout timer register (SELTIMER) (see #P0986)
+019 RW selection/reselection ID register (SELID) (see #P0987)
+01F RW SCSI block control register (SBLKCTL) (see #P0988)
+020 RW scratch RAM (64 bytes) (see #P1002)
+060 RW sequencer control register (SEQCTL) (see #P0989)
+061 RW sequencer RAM data register (SEQRAM)
+062w RW sequencer address register (SEQADDR) (see #P0990)
+064 RW accumulator register (ACCUM)
+065 RW source index register (SINDEX)
+066 RW destination index register (DINDEX)
+069 R- all ones register (ALLONES)
always reads as FFh
+06A R- all zeros register (ALLZEROS)
always reads as 00h
+06B R- flags register (FLAGS) (see #P0991)
PhaseEngine processor's flags
+06C R- source indirect register (SINDIR)
+06D -W destination indirect register (DINDIR)
+06E RW function 1 register (FUNCTION1)
+06F R- "STACK"
+084 RW board control register (BCTL) (see #P0992)
+085 RW bus on/off time register (BUSTIME) (see #P0993)
+086 RW bus speed register (BUSSPD) (see #P0994)
+087 RW host control register (HCNTRL) (see #P0995)
+088d RW host address register (HADDR)
+08C RW host counter register (HCNT) (3 bytes long)
+090 RW sequence control block (SCB) pointer register (SCBPTR)
+091 RW interrupt status register (INTSTAT) (see #P0996)
+092 R- hard error register (ERROR) (see #P0997)
+092 -W clear interrupt status register (CLRINT) (see #P0998)
+093 RW DMA FIFO control register (DFCNTRL) (see #P0999)
+094 R- DMA FIFO status register (DFSTATUS) (see #P1000)
+099 RW DMA FIFO data register (DFDAT)
+09A RW SCB auto-increment register (SCBCNT) (see #P1001)
+09B RW queue in FIFO register (QINFIFO)
write places the value into the FIFO, read removes
+09C R- queue in count register (QINCNT)
number of the SCBs in the queue in
+09D R- queue out FIFO register (QOUTFIFO)
read removes the value from the FIFO
+09E R- queue out count register (QOUTCNT)
number of the SCBs in the queue out
+0A0 RW SCB array (32 bytes) (see #P1003)
+0C0 RW (AHA-284x) serial EEPROM control register (SEECTL) (see #P1005)
+0C1 RW (AHA-284x) "STATUS" (see #P1006)
Notes: the SCSI latched data registers are used to transfer data on the SCSI
bus during automatic or manual PIO mode
in a twin channel configuration the separate register set with the
addresses 00h-1Eh exists for each channel
the SCSI/host address register (SHADDR) holds the host address for the
byte about to be transfered on the SCSI bus; it is counted up in the
same manner as SCSI transfer count register (STCNT) is counted down
and should always be used to determine the address of the last byte
transfered since the host address register (HADDR) can be skewed by
read ahead
the source/destination index registers (SINDEX/DINDEX) are used by the
PhaseEngine processor to indirectly address the data memory (i.e. the
CPU-addressable registers); the data byte addressed can be accessed
through the source/destination indirect registers (SINDIR/DINDIR)
respectively; the source index register (SINDEX) is auto-incremented
on each read from the source indirect register (SINDIR), while the
destination index register (DINDEX) is auto-incremented on each write
to the destination indirect register (DINDIR)
the function 1 register (FUNCTION1) is used to convert the SCSI target
number to the corresponding bit mask; first, bits 6-4 are written
with a number N (other bits seems to be "don't care"), then the
register is read back, giving the bit mask having bit N set and all
other bits cleared
the host address register (HADDR) and the host counter register (HCNT)
are used for the DMA transfers from/to the host memory
the SCB pointer register (SCBPTR) selects the 32-byte area of the SCB
RAM to be mapped at addresses A0h-BFh
the queue in/out FIFO registers (QINFIO/QOUTFIFO) hold the queue of
the SCB pointer register's (SCBPTR) values for addressing the SCBs
sent by CPU to the PhaseEngine processor and returned to CPU (when
the associated SCSI command completes) respectively; CPU selects
the SCB RAM area via the SCB pointer register (SCBPTR), downloads
prepared SCB to addresses A0h-BFh (this requeires the PhaseEngine
processor to be paused), then places the SCB pointer value to the
queue in FIFO by writing it to the respective register, from which
the SCB pointers can be read (and removed) in the FIFO order; the
PhaseEngine processor places the SCB pointer of the completed CCB
to the queue out FIFO by writing the respective register, and CPU
can remove it from the FIFO by reading the register
Bitfields for SCSI transfer control register 0 (SXFRCTL0):
Bit(s) Description (Table P0979)
7 DMA FIFO on? (DFON)
6 "DFPEXP"
5 (Ultra SCSI) Ultra SCSI enable (ULTRAEN)
4 clear SCSI transfer counter (CLRSTCNT)
3 SCSI PIO enable (SPIOEN)
2 SCAM enable (SCAMEN)
1 clear channel (CLRCHN)
0 reserved
SeeAlso: #P0607,#P0618,#P0620,#P0980,#P0984
Bitfields for SCSI transfer control register 1 (SXFRCTL1):
Bit(s) Description (Table P0980)
7 bit bucket (BITBUCKET)
6 SCSI counter wrap enable (SWRAPEN)
5 enable SCSI parity check (ENSPCHK)
4-3 selection time-out select (STIMESEL)
00 256 ms
01 128 ms
10 64 ms
11 32 ms
2 enable selection timer (ENSTIMER)
1 active negation enable (ACTNEGEN)
0 SCSI terminator power enable? (STPWEN)
SeeAlso: #P0600,#P0979,#P0986
Bitfields for SCSI rate control register (SCSIRATE):
Bit(s) Description (Table P0981)
7 (Wide SCSI) wide transfer control (WIDEXFER)
6-4 synchronous transfer rate (SXFR)
3-0 synchronous offset (SOFS)
SeeAlso: #P0605,#P0984
Bitfields for SCSI ID register (SCSIID):
Bit(s) Description (Table P0982)
7-4 target ID (TID)
3-0 our ID (OID)
SeeAlso: #P0606,#P0987,#P1012
Bitfields for clear SCSI interrupt register 0 (CLRSINT0):
Bit(s) Description (Table P0983)
7 reserved?
6 clear selection out done (CLRSELDO)
5 clear selection in done (CLRSELDI)
4 clear selection in progress (CLRSELINGO)
3 clear SCSI counter wrap (CLRSWRAP)
2 reserved
1 clear SCSI PIO ready (CLRSPIORDY)
0 reserved
SeeAlso: #P0600,#P0601,#P0607,#P0608,#P0616
Bitfields for SCSI status register 2 (SSTAT2):
Bit(s) Description (Table P0984)
7 "OVERRUN"
6-5 reserved
4-0 SCSI FIFO count? (SFCNT)
SeeAlso: #P0979,#P0981
Bitfields for SCSI test control register (SCSITEST):
Bit(s) Description (Table P0985)
7-3 reserved
2 "RQAKCNT"
1 "CNTRTEST"
0 "CMODE"
SeeAlso: #P0988
Bitfields for selection timeout timer register (SELTIMER):
Bit(s) Description (Table P0986)
7-6 reserved
5 "STAGE6"
4 "STAGE5"
3 "STAGE4"
2 "STAGE3"
1 "STAGE2"
0 "STAGE1"
SeeAlso: #P0980
Bitfields for selection/reselection ID register (SELID):
Bit(s) Description (Table P0987)
7-4 selecting device ID (SELID)
3 one bit (ONEBIT)
2-0 reserved
Note: bit 3 is set when the selecting/reselecting device did not set its own
ID on the SCSI bus
SeeAlso: #P0600,#P0607,#P0982
Bitfields for SCSI block control register (SBLKCTL):
Bit(s) Description (Table P0988)
7-6 reserved
5 auto-flush disable (AUTOFLUSHDIS)
4 reserved
3 select bus (SELBUS)
=0 select bus A
=1 select bus B (SELBUSB)
2 reserved
1 "SELWIDE"
0 reserved
Notes: bit 1 allows for the coexistence of 8-bit and 16-bit devices on a Wide
SCSI bus
in a twin channel configuration addresses 00h-1Eh are gated to the
appropriate channel based on the value of bit 3
bit 5 is read only on the AIC-7770 revisions prior to E
Bitfields for sequencer control register (SEQCTL):
Bit(s) Description (Table P0989)
7 parity error disable (PERRORDIS)
6 pause disable (PAUSEDIS)
5 "FAILDIS"
4 fast mode (FASTMODE)
3 break address interrupt enable (BRKADRINTEN)
2 "STEP"
1 sequencer reset (SEQRESET)
0 load sequencer RAM (LOADRAM)
Notes: setting bit 1 causes the sequencer to be paused; the sequencer address
register is reset to 0
bit 7 should be reset while loading the sequencer RAM; after loading
is complete, bit 0 should be cleared before changing the sequencer
address register (SEQADDR) to avoid sequencer RAM parity errors
SeeAlso: #P0990,#P0996,#P0997,#P0998,#P1014
Bitfields for sequencer address register (SEQADDR):
Bit(s) Description (Table P0990)
15-9 reserved
8-0 sequencer RAM address
Notes: bits 8-0 contain the address of a DWORD in the sequencer RAM; it points
to the next instruction to be execute or load into RAM
setting bit 1 in the sequencer control register (SEQCTL) resets this
address to 0
when the PhaseEngine processor is paused, the sequencer address can be
altered and a sequencer program can be loaded by writing it, byte by
byte, to the sequencer RAM data register (SEQRAM); the address is
auto-incremented after the high BYTE of each DWORD is loaded
SeeAlso: #P0989,#P1014
Bitfields for flags register (FLAGS):
Bit(s) Description (Table P0991)
7-2 reserved
1 zero flag (ZERO)
0 carry flag (CARRY)
SeeAlso: #P1014
Bitfields for board control register (BCTL):
Bit(s) Description (Table P0992)
7-4 reserved
3 "ACE"
2-1 reserved
0 enable board (ENABLE)
Note: bit 3 is somehow related to the support for the external processors
Bitfields for bus on/off time register (BUSTIME):
Bit(s) Description (Table P0993)
7-4 bus off time (BOFF)
in 4 BCLK cycle units?
3-0 bus on time (BON)
SeeAlso: #P0994,#P1002
Bitfields for bus speed register (BUSSPD):
Bit(s) Description (Table P0994)
7-6 DMA FIFO threshold (DFTHRSH)
11 100?
5-3 "STBOFF"
2-0 "STBON"
SeeAlso: #P0993,#P0999,#P1000,#P1002
Bitfields for host control register (HCNTRL):
Bit(s) Description (Table P0995)
7 reserved
6 power down (POWRDN)
5 reserved
4 software interrupt (SWINT)
3 IRQ mode select (IRQMS)
=0 level-sensitive
=1 edge-triggered
2 pause sequencer (PAUSE)
1 interrupt enable (INTEN)
0 chip reset (CHIPRST)
Notes: bit 0 is self-clearing (though on some AIC-7771 based boards it stucks
set, and must be manually cleared)
set bit 2 to pause the sequencer, then poll the register until this bit
reads as 1 indicating that the sequencer has actually stopped; the
sequencer can disable pausing for critical sections through bit 6 of
the sequencer control register (SEQCTL)
SeeAlso: #P0989,#P1014
Bitfields for interrupt status register (INTSTAT):
Bit(s) Description (Table P0996)
7-4 sequencer status
0000 unknown SCSI bus phase (BAD_PHASE)
0001 sending MESSAGE REJECT (SEND_REJECT)
0010 no IDENTIFY after reconnect (NO_IDENT)
0011 no command match for reconnect (NO_MATCH)
0100 SYNCRONOUS DATA TRANSFER REQUEST (SDTR) message received (SDTR_MSG)
0101 WIDE DATA TRANSFER REQUEST (WDTR) message received (WDTR_MSG)
0110 MESSAGE REJECT received (REJECT_MSG)
0111 bad status from target (BAD_STATUS)
1000 residual byte count non-zero (RESIDUAL)
1001 sent ABORT TAG message (ABORT_TAG)
1010 awaiting message
1011 immediate command completed (IMMEDDONE)
1100 message buffer busy (MSG_BUFFER_BUSY)
1101 MESSAGE IN phase mismatch (MSGIN_PHASEMIS)
1110 data overrun (DATA_OVERRUN)
3 break address interrupt (BRKADRINT)
2 SCSI interrupt (SCSIINT)
1 command complete interrupt (CMDCMPLT)
0 sequencer interrupt (SEQINT)
Notes: the PhaseEngine processor can set bit 0 to interrupt the CPU requesting
some service from it; an interrupt reason is passed in bits 7-4
the PhaseEngine processor sets bit 1 after placing a completed SCB into
the queue out FIFO
setting bit 0 pauses the PhaseEngine processor; it needs unpausing via
resetting bit 2 of the host control register (HCNTRL)
SeeAlso: #P0986,#P0993,#P0995,#P1014
Bitfields for hard error register (ERROR):
Bit(s) Description (Table P0997)
7-4 reserved
3 sequencer RAM parity error (PARERR)
2 illegal opcode in sequencer program (ILLOPCODE)
1 illegal sequencer address referenced (ILLSADDR)
0 illegal host access (ILLHADDR)
Note: usually a full board reset is required after detecting a hard error
SeeAlso: #P1014
Bitfields for clear interrupt status register (CLRINT):
Bit(s) Description (Table P0998)
7-4 reserved
3 clear break address interrupt (CLRBRKADRINT)
2 clear SCSI interrupt (CLRSCSIINT)
1 clear command complete interrupt (CLRCMDINT)
0 clear sequencer interrupt (CLRSEQINT)
SeeAlso: #P0986,#P0991,#P1014
Bitfields for DMA FIFO control register (DFCNTRL):
Bit(s) Description (Table P0999)
7 reserved
6 "WIDEODD"
5 SCSI enable (SCSIEN)
4 SCSI DMA enable? (SDMAEN)
3 host DMA enable? (HDMAEN)
2 "DIRECTION"
=0 SCSI to host
=1 host to SCSI
1 FIFO flush (FIFOFLUSH)
0 FIFO reset (FIFORESET)
Notes: this register allows the PhaseEngine processor to control DMA transfers
from/to host memory
bits 3 and 4 clear automatically when host and SCSI DMA is complete
respectively
SeeAlso: #P0994,#P1000
Bitfields for DMA FIFO status register (DFSTATUS):
Bit(s) Description (Table P1000)
7-6 reserved
5 "DWORDEMP"
4 "MREQPEND"
3 host DMA done (HDONE)
2 DMA FIFO threshold? (DFTHRESH)
1 FIFO full (FIFOFULL)
0 FIFO empty (FIFOEMP)
SeeAlso: #P0994,#P0999
Bitfields for SCB auto-increment register (SCBCNT):
Bit(s) Description (Table P1001)
7 SCB auto-increment (SCBAUTO)
6-5 reserved
4-0 SCB counter (SCBCNT)
Note: this register allows CPU to quickly upload/download the SCBs to/from
the SCB RAM; if bit 7 is set any reference to addresses A0h-BFh post-
increments bits 4-0 of this register containing the offset into the
SCB array which is to be accessed next; on the AHA-284x only 8-bit
transfers can be used
SeeAlso: #P1003
Format of the scratch RAM:
Offset Size Description (Table P1002)
00h 16 BYTEs target scratch (TARG_SCRATCH) (see #9025)
10h WORD channel A Ultra SCSI enable (ULTRA_ENB_A)
bit N if set means Ultra SCSI transfers are enabled for the
target ID N
10h BYTE rejected byte (REJBYTE)
11h BYTE channel B Ultra SCSI enable (ULTRA_ENB_B)
bit N if set means Ultra SCSI transfers are enabled for the
target ID N
11h BYTE rejected byte extended (REJBYTE_EXT)
11h BYTE rejected byte (REJBYTE)
12h BYTE channel A disable disconnect (DISC_DSB_A)
13h BYTE channel B disable disconnect (DISC_DSB_B)
14h BYTE length of pending message (MSG_LEN)
15h 8 BYTEs outgoing message (MSG0-MSG7)
15h BYTE pending message flag (MSG_FLAGS)
16h BYTE length of pending message (MSG_LEN)
17h ? BYTEs outgoing message body (MSG_START)
1Dh BYTE parameters for DMA logic (DMAPARAMS) (see #P0999)
1Dh BYTE last phase (LASTPHASE)
1Eh BYTE "SEQ_FLAGS"
bit 7: "RESELECTED"
bit 6: "IDENTIFY_SEEN"
bit 5: "TAGGED_SCB"
bit 4: data phase seen (DPHASE)
bit 3: reserved
bit 2: page SCBs (PAGESCBS)
bit 1: "WIDE_BUS"
bit 0: "TWIN_BUS"
1Eh BYTE "ARG_1"
bit 0: "MAXOFFSET"
1Fh BYTE saved target/channel/LUN (SAVED_TCL)
bits 7-4: target ID
bit 3: channel (0=A, 1=B)
bits 2-0: LUN
1Fh BYTE "RETURN_1"
00h do nothing
10h SCB paged in (SCB_PAGEDIN)
20h send MESSAGE REJECT message (SEND_REJ)
40h send REQUEST SENSE command (SEND_SENSE)
60h send SYNCHRONOUS DATA TRANSFER REQUEST message (SEND_SDTR)
80h send WIDE DATA TRANSFER REQUEST message (SEND_WDTR)
20h BYTE scatter/gather count (SG_COUNT)
20h BYTE "SIGSTATE"
21h DWORD scatter/gather next segment pointer (SG_NEXT)
21h BYTE parameters for DMA logic (DMAPARAMS) (see #P0999)
22h BYTE scatter/gather count (SG_COUNT)
23h DWORD scatter/gather next segment pointer (SG_NEXT)
25h BYTE waiting SCB list head (WAITING_SCBH)
26h BYTE saved link pointer (SAVED_LINKPTR)
27h BYTE saved SCB pointer (SAVED_SCBPTR)
27h BYTE SCB count (SCBCOUNT)
number of SCBs supported in hardware
28h BYTE last phase (LASTPHASE) (see #9003)
bit 7: -C/D input (CDI)
bit 6: -I/O input (IOI)
bit 5: -MSG input (MSGI)
bits 4-0: reserved
28h BYTE negative SCB count (COMP_SCBCOUNT)
29h BYTE extended message length (MSGIN_EXT_LEN)
29h BYTE queue count mask (QCNTMASK)
works around a bug in AIC-7850
2Ah BYTE extended message opcode (MSGIN_EXT_OPCODE)
2Ah BYTE "FLAGS"
bit 7: "RESELECTED"
bit 6: IDENTIFY message seen (IDENTIFY_SEEN)
bit 5: "SELECTED"
bit 4: data phase seen (DPHASE)
bit 3: reserved
bit 2: page SCBs (PAGESCBS)
bit 1: wide bus (WIDE_BUS)
bit 0: twin bus (TWIN_BUS)
2Bh 3 BYTEs extended message tail bytes (MSGIN_EXT_BYTES)
2Bh BYTE saved target/channel/LUN (SAVED_TCL)
bits 7-4: target ID
bit 3: channel (0=A, 1=B)
bits 2-0: LUN
2Ch WORD channel A active targets (ACTIVE_A)
bit N is set if there's untagged SCSI command currently active
on the target ID N
2Ch BYTE "ARG_1" or "RETURN_1"
2Dh BYTE channel B active targets (ACTIVE_B)
bit N is set if there's untagged SCSI command currently active
on the target ID N
2Dh BYTE "ARG_2"
2Eh BYTE disconnected SCB list head (DISCONNECTED_SCBH)
2Eh BYTE waiting SCB list head (WAITING_SCBH)
2Eh BYTE signal state (SIGSTATE)
2Fh BYTE free SCB list head (FREE_SCBH)
disconnected SCB list head (DISCONNECTED_SCBH)
2Fh BYTE "NEEDSDTR"
bit N if set means that the synchronous data transfer needs to
be negotiated with the target ID N
30h DWORD "HSCB_ADDR"
30h BYTE saved link pointer (SAVED_LINKPTR)
31h BYTE saved SCB pointer (SAVED_SCBPTR)
32h WORD channel A Ultra enable (ULTRA_ENB)
bit N if set means Ultra SCSI transfers are enabled for the
target ID N
33h BYTE channel B Ultra enable (ULTRA_ENB_B)
bit N if set means Ultra SCSI transfers are enabled for the
target ID N
34h BYTE "CUR_SCBID"
35h BYTE "CMDOUTCNT"
count of commands placed in the out FIFO
36h BYTE SCB count (SCBCOUNT)
number of SCBs supported in hardware
36h BYTE "ARG_1" or "RETURN_1"
bit 7: "SEND_MSG"
bit 6: "SEND_SENSE"
bit 5: "SEND_REJ"
bits 4-0: reserved
37h WORD channel A active targets (ACTIVE_A)
bit N is set if there's untagged SCSI command currently active
on the target ID N
39h BYTE reserved
3Ah WORD SCSI configuration (SCSICONF)
bits 15-12: reserved?
bits 11-8: (Wide SCSI) our ID (see #P0982)
bit 7: (AIC-777x) enable SCSI low byte termination (see #P1011)
bit 6: enable SCSI bus reset at power up (RESET_SCSI)
(see #P1011)
bit 5: enable SCSI parity check (ENSPCHK) (see #P0980)
bits 4-3: selection time-out select (STIMESEL) (see #P0980)
bits 2-0: our ID (see #P0982)
3Bh BYTE channel B SCSI configuration
see bits 7-0 above
3Ch BYTE "INTDEF"
bits 7-4: reserved?
bits 3-0: IRQ number (IRQ9..IRQ12, IRQ14, and IRQ15 are valid)
3Dh BYTE host configuration (HOSTCONF)
bits 7-6: DMA FIFO threshold (DFTHRSH) (see #9038)
bits 5-2: bus off time (BOFF) (see #9037)
bits 1-0: reserved?
3Eh BYTE reserved
3Fh BYTE (AIC-7771) BIOS control (BIOSCTRL)
bits 5-4: BIOS mode (BIOSMODE)
11 BIOS disabled (BIOSDISABLED)
bit 3: channel B is primary (CHANNEL_B_PRIMARY)
Notes: the scratch RAM is used for passing information between the driver and
BIOS and the code running on the PhaseEngine processor; it serves as
a working memory for the PhaseEngine processor as well
location definitions overlap due to various sources giving different
scratch RAM layouts
the PhaseEngine processor uses "ARG_1" and "ARG_2" to pass parameters
to the drivers and BIOS during sequencer interrupts; "RETURN_1" is used
to return results from the drivers and BIOS to the PhaseEngine code
the PhaseEngine processor uses SCB pointer register's (SCBPTR) values
to link SCB in the lists, with value FFh indicating the end of list
SeeAlso: #9047,#9048
Format of the SCB array:
Offset Size Description (Table P1003)
00h BYTE "SCB_CONTROL"
bit 7: need WDTR message (NEEDWDTR) or
"MK_MESSAGE"
bit 6: disconnect enable (DISCENB)
bit 5: tagging enable (TAG_ENB)
bit 4: need SDTR message (NEEDSDTR) or
"MUST_DMAUP_SCB"
bit 3: "ABORT_SCB"
bit 2: "DISCONNECTED"
bits 1-0: command tag type (SCB_TAG_TYPE)
01h BYTE target/channel/LUN (SCB_TCL)
bits 7-4: target ID
bit 3: channel (0=A, 1=B)
bits 2-0: LUN
02h BYTE target status (SCB_TARGET_STATUS)
SCSI status byte
03h BYTE scatter/gather count (SCB_SGCOUNT)
04h DWORD scatter/gather pointer (SCB_SGPTR)
08h BYTE residual scatter/gather count (SCB_RESID_SGCNT)
09h 3 BYTEs residual data count (SCB_RESID_DCNT)
0Ch DWORD data pointer (SCB_DATAPTR)
10h 3 BYTEs data count (SCB_DATACNT)
13h BYTE next linked SCB index (SCB_LINKED_NEXT)
14h DWORD command pointer (SCB_CMDPTR)
18h BYTE command length (SCB_CMDLEN)
19h BYTE command tag (SCB_TAG)
1Ah BYTE next SCB index (SCB_NEXT)
1Bh BYTE previous SCB index (SCB_PREV)
1Ch 2 WORDs busy targets (SCB_BUSYTARGETS)
bit N is set if there's untagged SCSI command currently active
on the target ID N
SeeAlso: #P1004,#P1014
Format of the scatter/gather segment:
Offset Size Description (Table P1004)
00h DWORD physical address
04h DWORD length
SeeAlso: #P1003,#P1014
Bitfields for AHA-284x serial EEPROM control register (SEECTL):
Bit(s) Description (Table P1005)
7-3 reserved
2 chip select (CS)
1 clock (CK)
0 data out (DO)
Notes: 93C46 serial EEPROM chips have 1024 bits organized into 64 16-bit
words and use 6 bits to address each word
only the first 32 words of serial EEPROM are used by the Adaptec BIOS
bits 2-0 are connected to the chip select, clock, and data out pins of
the serial EEPROM respectively
bit 1 must be pulled high and then low for a minimum of 750 and 250 ns
to provide clocking for the EEPROM chip
bit 1 going from low to high causes the EEPROM chip to sample the data
out pin and initiates the next bit to be sent through the data in pin
bit 2 must be set for a minimum of 1 mcs with the bit 1 goig high and
then low for the EEPROM chip to be selected; then the instruction can
be sent to the EEPROM chip
instruction can be terminated by taking the EEPROM chip select pin low,
with the bit 1 going high and low
SeeAlso: #P1006,#P1007,#P1008
Bitfields for AHA-284x "STATUS" register:
Bit(s) Description (Table P1006)
7 EEPROM timer fired? (EEPROM_TF)
6-5 "BIOS_SEL"
4-1 "ADSEL"
0 data in (DI)
Notes: bit 0 is connected to the data in pin of the serial EEPROM; it can be
read after the clock pin goes from high to low
bit 7 is cleared after a read from the serial EEPROM control register
(SEECTL) and goes high 800 ns later
SeeAlso: #P1005,#P1007,#P1008
(Table P1007)
Values for the 93C46 serial EEPROM instructions:
Opcode Function Parameter Description
0000xxxxb EWDS - disable all programming instructions
0001xxxxb WRAL D15..D0 write to all registers
0010xxxxb ERAL - erase all registers
0011xxxxb EWEN - write enable
must precede all programming modes
01AAAAAAb WRITE D15..D0 write register with address A5..A0
10AAAAAAb READ - read registers starting with address A5..A0
11AAAAAAb ERASE - erase register with address A5..A0
Notes: while the chip select pin remains high an instuction and the optional
parameter word can be clocked in MSB first, beginning with the start
bit of 1
16-bit parameter and data words are transferred MSB first, beginning
with the start bit of 0
SeeAlso: #P1005,#P1006
Format of the AHA-284x serial EEPROM:
Address Size Description (Table P1008)
00h 16 WORDs SCSI ID configuration (see #P1009)
10h WORD BIOS control (see #P1011)
11h WORD host adapter control (see #P1012)
12h WORD bus release time / host adapter ID (see #P1013)
13h WORD maximum targets (see #P1014)
14h 11 WORDs reserved
1Fh WORD checksum
SeeAlso: #P1005,#P1006
Bitfields for the serial EEPROM SCSI ID configuration word:
Bit(s) Description (Table P1009)
15-11 reserved
10 report even if not found (CFRNFOUND)
9 include in BIOS scan (CFINCBIOS)
8 send START UNIT SCSI command (CFSTART)
7-6 reserved
5 (Wide SCSI) wide bus device (CFWIDEB)
4 enable disconnection (CFDISC)
3 enable synchronous transfer (CFSYNCH)
2-0 synchronous transfer rate (CFXFER)
SeeAlso: #P0605,#P1008
Bitfields for the serial EEPROM BIOS control word:
Bit(s) Description (Table P1011)
15-6 reserved
5 extended translation (CFEXTEND)
4 support more than 2 drives (CFSM2DRV)
3 reserved
2 BIOS enabled (CFBIOSEN)
1 support removable drives for boot only (CFSUPREMB)
0 support all removable drives (CFSUPREM)
SeeAlso: #P1008
Bitfields for the serial EEPROM host adapter control word:
Bit(s) Description (Table P1011)
15-7 reserved
6 reset SCSI bus at IC initialization (CFRESETB)
5 SCSI low byte termination (CFSTERM)
=0 disable
=1 enable
4 SCSI parity (CFSPARITY)
=0 disable
=1 enable
3-2 FIFO threshold (CFFIFO)
1-0 selection timeout (CFSELTO)
SeeAlso: #P0600,#P0980,#P0994,#P1008
Bitfields for the serial EEPROM bus release time / host adapter ID word:
Bit(s) Description (Table P1012)
15-8 bus release time (CFBRTIME)
7-4 reserved
3-0 host adapter SCSI ID (CFSCSIID)
SeeAlso: #P0982,#P0989,#P1007
Bitfields for the serial EEPROM maximum targets word:
Bit(s) Description (Table P1013)
15-8 reserved
7-0 maximum targets (CFMAXTARG)
SeeAlso: #P1007
Bitfields for the PhaseEngine SCSI sequence processor instruction:
Bit(s) Description (Table P1014)
31-29 reserved (0)
28-25 opcode
0000 OR dest,imm[,src] [RET]
MVI dest,imm [RET]
0001 AND dest,imm[,src] [RET]
MOV dest,src [RET]
CLR dest [RET]
NOP [RET]
RET
0010 XOR dest,imm[,src] [RET]
NOT dest [RET]
0011 ADD dest,imm[,src] [RET]
INC dest[,src] [RET]
DEC dest[,src] [RET]
CLC [dest[,imm]] [RET]
STC dest [RET]
0100 ADC dest,imm[,src] [RET]
0101 SHL/SHR/ROL/ROR dest,[src,]imm [RET]
1000 OR src,imm JMP addr
MOV src JMP addr
MVI imm JMP addr
JMP addr
1001 OR src,imm JC addr
MOV src JC addr
MVI imm JC addr
JC addr
1010 OR src,imm JNC addr
MOV src JNC addr
MVI imm JNC addr
JNC addr
1011 OR src,imm CALL addr
MOV src CALL addr
MVI imm CALL addr
CALL addr
1100 CMP src,imm JNE addr
1101 TEST src,imm JNZ addr
1110 CMP src,imm JE addr
1111 TEST src,imm JZ addr
others reserved
24-16 (jump instructions) instruction address
24 (non-jump instructions) return flag
23-16 (non-jump instructions) destination register address
15-8 source register address
7-0 (shift instructions) shift control (see #P1015)
(other instructions) immediate data
if 0 accumulator register (ACCUM) is used instead
Notes: the jump instructions with the OR/MOV/MVI prefixes implicitly use the
source index register (SINDEX) as destination
SeeAlso: #P0989,#P0990,#P0991,#P0995,#P0996,#P0997,#9042
Bitfields for the PhaseEngine shift control:
Bit(s) Description (Table P1015)
7 clear all bits?
6-4 number of bits to shift the AND mask (FFh)
3 =0 shift the AND mask left
=1 shift the AND mask right
2-0 number of bits to rotate the source left
Notes: the 8-bit source seems to be rotated left and then AND'ed with the mask
(FFh) which is shifted left or right prior to AND'ing in order to
perform all kinds of the shift/rotate instructions
bit 7 is set (and bits 6-4 equal 7) if the shift count is greater than
7 specified for the SHL/SHR instructions
----------P1C65------------------------------
PORT 1C65 - Compaq Contura Aero
SeeAlso: PORT 2065h
1C65 R? bit 6: operating on battery power
--------X-P1C801C8F--------------------------
PORT 1C80-1C8F - VESA XGA Video in EISA slot 1
1C80-1C83 RW EISA Video ID
1C84 RW EISA Video expansion board control (see #P1016)
1C85 RW EISA Setup control
1C88 RW EISA Video Programmable Option Select 0
1C89-1C8F RW EISA Video Programmable Option Select 1-7
--------X-P1C801C83--------------------------
PORT 1C80-1C83 - EISA board product ID (board in slot 1)
1C80 R? bit 7: unused (0)
bits 6-2: manufacturer ID, first compressed ASCII char
bits 1-0: manufacturer ID, second compressed ASCII char (high)
1C81 R? bits 7-5: manufacturer ID, second compressed ASCII char (low)
bits 4-0: manufacturer ID, third compressed ASCII char
1C82 R? bits 7-4: first hex digit of product type
bits 3-0: second hex digit of product type
1C83 R? bits 7-4: third hex digit of product type
bits 3-0: product revision number (hex digit)
--------X-P1C84------------------------------
PORT 1C84 - EISA CONFIGURATION FLAGS (board in slot 1)
1C84 RW configuration flags (see #P1016)
Bitfields for EISA Add-in Card configuration flags:
Bit(s) Description (Table P1016)
0 enable
1 IOCHKERR (read-only) card is generating CHCHK#, causing an NMI
2 IOCHKRST reset card
7-3 card-specific
--------X-P1C85------------------------------
PORT 1C85 - EISA SETUP CONTROL (board in slot 1)
--------V-P1C85------------------------------
PORT 1C85 - Compaq Qvision EISA - Virtual Controller ID
--------X-P1C881C8F--------------------------
PORT 1C88-1C8F - EISA PROGRAMMABLE OPTION SELECT (board in slot 1)
--------V-P1EE81EEF--------------------------
PORT 1EE8-1EEF - 8514/A and compatible (e.g. ATI Graphics Ultra) - VSYNC WIDTH
1EE8w -W CRT control: vertical sync width
--------V-P1EEC------------------------------
PORT 1EEC - Mach64 - ???
1EEC RW display power and other controls
bits 3-2: DPMS power mode
00 normal
01 standby
10 suspend
11 off
--------X-P200020FF--------------------------
PORT 2000-20FF - available for EISA slot 2
----------P2065------------------------------
PORT 2065 - Compaq Contura Aero
SeeAlso: PORT 1C65h"Compaq",PORT 2465h"Compaq"
2065 -W ??? (84h seen)
--------V-P2100------------------------------
PORT 2100 - XGA Video Operating Mode Register
Note: this port is for the first XGA in the system; 2110-2170 are used for
the second through eighth XGAs
--------V-P2101------------------------------
PORT 2101 - XGA Video Aperture Control
Note: this port is for the first XGA in the system; 2111-2171 are used for
the second through eighth XGAs
--------V-P21022103--------------------------
PORT 2102-2103 - XGA ???
Note: this port is for the first XGA in the system; 211x-217x are used for
the second through eighth XGAs
--------V-P2104------------------------------
PORT 2104 - XGA Video Interrupt Enable
Note: this port is for the first XGA in the system; 211x-217x are used for
the second through eighth XGAs
--------V-P2105------------------------------
PORT 2105 - XGA Video Interrupt Status
Note: this port is for the first XGA in the system; 211x-217x are used for
the second through eighth XGAs
--------V-P2106------------------------------
PORT 2106 - XGA Video Virtual Memory Control
Note: this port is for the first XGA in the system; 211x-217x are used for
the second through eighth XGAs
--------V-P2107------------------------------
PORT 2107 - XGA Video Virtual Memory Interrupt Status
Note: this port is for the first XGA in the system; 211x-217x are used for
the second through eighth XGAs
--------V-P2108------------------------------
PORT 2108 - XGA Video Aperture Index
Note: this port is for the first XGA in the system; 211x-217x are used for
the second through eighth XGAs
--------V-P2109------------------------------
PORT 2109 - XGA Video Memory Access Mode
Note: this port is for the first XGA in the system; 211x-217x are used for
the second through eighth XGAs
--------V-P210A------------------------------
PORT 210A - XGA Video Index for Data
Note: this port is for the first XGA in the system; 211x-217x are used for
the second through eighth XGAs
--------V-P210B------------------------------
PORT 210B - XGA Video Data (byte)
Note: this port is for the first XGA in the system; 211x-217x are used for
the second through eighth XGAs
--------V-P210C210F--------------------------
PORT 210C-210F - XGA Video Data (word/dword)
Note: this port is for the first XGA in the system; 211x-217x are used for
the second through eighth XGAs
210C RW byte data
210Cw RW word data
210Cd RW dword data
--------V-P2110211F--------------------------
PORT 2110-211F - IBM XGA (eXtended Graphics Adapter 8514/A) (second installed)
Notes: see individual 210x entries above
c't says default instance number is 6, i.e. addresses 216x
--------V-P2120212F--------------------------
PORT 2120-212F - IBM XGA (eXtended Graphics Adapter 8514/A) (third installed)
Notes: see individual 210x entries above
c't says default instance number is 6, i.e. addresses 216x
--------V-P2130213F--------------------------
PORT 2130-213F - IBM XGA (eXtended Graphics Adapter 8514/A) (fourth installed)
Notes: see individual 210x entries above
c't says default instance number is 6, i.e. addresses 216x
--------V-P2140214F--------------------------
PORT 2140-214F - IBM XGA (eXtended Graphics Adapter 8514/A) (fifth installed)
Notes: see individual 210x entries above
c't says default instance number is 6, i.e. addresses 216x
--------V-P2150215F--------------------------
PORT 2150-215F - IBM XGA (eXtended Graphics Adapter 8514/A) (sixth installed)
Notes: see individual 210x entries above
c't says default instance number is 6, i.e. addresses 216x
--------V-P2160216F--------------------------
PORT 2160-216F - IBM XGA (eXtended Graphics Adapter 8514/A) (seventh installed)
Notes: see individual 210x entries above
c't says default instance number is 6, i.e. addresses 216x
--------V-P2170217F--------------------------
PORT 2170-217F - IBM XGA (eXtended Graphics Adapter 8514/A) (eighth installed)
Notes: see individual 210x entries above
c't says default instance number is 6, i.e. addresses 216x
--------V-P217A217B--------------------------
PORT 217A-217B - ET4000/W32 CRTC-B/Sprite
Note: Alternative addresses may depend on adapter manufacturer,
Tseng claims 21xA with x=three address bits, selected by IOD2..0
during power up reset.
21xA RW ET4000/W32(i) CRTC-B/Sprite index register
bit7-0: index
21xB RW ET4000/W32(i) CRTC-B/Sprite data register (see #P1017)
(Table P1017)
Values for ET4000/W32(i) CRTC-B/Sprite data register index:
E0h CRTC-B / Sprite Horizontal Pixel Position, Low
bit7-0: horizontal pixel position bit7-0
E1h CRTC-B / Sprite Horizontal Pixel Position, High
bit7-4: reserved
bit3-0: horizontal pixel position bit11-8
E2h CRTC-B Width Low / Sprite Horizontal Preset
bit7-0: width of CRTC-B bit7-0
bit5-0: horizontal preset for sprite
E3h CRTC-B Width High / Sprite Horizontal Preset
bit7-4: reserved
bit3-0: width of CRTC-B bit11-8
E4h CRTC-B / Sprite Vertical Pixel Position, Low
bit7-0: vertical pixel position bit7-0
E5h CRTC-B / Sprite Vertical Pixel Position, High
bit7-4: reserved
bit3-0: vertical pixel position bit11-8
E6h CRTC-B Height Low / Sprite Vertical Preset
bit7-0: height of CRTC-B bit7-0
bit5-0: vertical preset for sprite
E7h CRTC-B Height High / Sprite Vertical Preset
bit7-4: reserved
bit3-0: height of CRTC-B bit11-8
E8h CRTC-B / Sprite Starting Address Low
pointer to CRTC-B / sprite image in display memory.
(maximum size of sprites 64x64x4=1KB with 4 colors:
00b=color-0, 01b=color-255, 10b=transparent, 11b=reserved)
bit7-0: startaddress bit7-0
E9h CRTC-B / Sprite Starting Address Middle
bit7-0: startaddress bit15-8
EAh CRTC-B / Sprite Starting Address High
bit7-4: reserved
bit3-0: startaddress bit19-16
EBh CRTC-B / Sprite Row Offset Low
bit7-0: offset bit7-0
ECh CRTC-B / Sprite Row Offset High
bit7-4: revision ID (any ET4000/W32)
0000b=W32 0100b-1111b reserved
0001b=W32i
0010b=W32p
0011b=W32i, new
bit3-0: offset bit11-8
EDh CRTC-B Pixel Panning
bit7-3: reserved
bit2-0: CRTC-B pixel panning
EEh CRTC-B Color-Depth-Register / Hardware-Zoom
bit7-4: reserved (concerning databook ET4000/W32)
bit7-6: vertical zoom (undocumented)
(original ET4000/W32 ok, doesn't work properly
with some ET4000/W32i)
00b=zoomx1 10b=zoomx3
01b=zoomx2 11b=zoomx4
bit5-4: horizontal zoom (undocumented)
(original ET4000/W32 ok, doesn't work properly
with some ET4000/W32i)
00b=zoomx1 10b=zoomx3
01b=zoomx2 11b=zoomx4
bit3-0: bit/pixel
0000b=1 0011b=8
0001b=2 0100b=16
0010b=4
EFh CRTC-B / Sprite Control
bit7-2: reserved
bit1 : 1=2nd CRTC-B image overlays main CRTC-A image
0=CRTC-B image at pin SP1/0
bit0 : 1=enable CRTC-B
0=enable sprite (see F7h)
F7h Image Port Control
bit7 : 1=CRTC-B or sprite active
0=CRTC-B and sprite not active
bit6-0: reserved
----------P22E822EF--------------------------
PORT 22E8-22EF - 8514/A and compatible (e.g. ATI Graphics Ultra) - DISPLAY CTRL
22E8w -W CRT control: display control
----------P23902393--------------------------
PORT 2390-2393 - cluster (adapter 4)
--------V-P23C023CF--------------------------
PORT 23C0-23CF - Compaq QVision - BitBLT engine
--------X-P240024FF--------------------------
PORT 2400-24FF - available for EISA slot 2
----------P2465------------------------------
PORT 2465 - Compaq Contura Aero
SeeAlso: PORT 1C65h"Compaq",PORT 2065h"Compaq"
2465 R- current battery power level
(166 fully-charged, 130 = LowBat1)
----------P27C6------------------------------
PORT 27C6 - Compaq LTE Lite - LCD TIMEOUT
27C6 RW LCD timeout in minutes
--------X-P280028FF--------------------------
PORT 2800-28FF - available for EISA slot 2
--------V-P28E9------------------------------
PORT 28E9 - 8514/A - WD Escape Functions
--------d-P2C002CBF--------------------------
PORT 2C00-2CBF - Adaptec AIC-777x EISA SCSI controller in EISA slot 2
SeeAlso: PORT 0340h-035Fh"Adaptec AHA-154x",PORT xxxxh"Adaptec AIC-78xx"
--------V-P2C802C8F--------------------------
PORT 2C80-2C8F - VESA XGA Video in EISA slot 2
SeeAlso: PORT 1C80h-1C83h,PORT 1C88h-1C8Fh
--------X-P2C802C83--------------------------
PORT 2C80-2C83 - EISA board product ID (board in slot 2)
SeeAlso: PORT 1C80h-1C83h
--------X-P2C84------------------------------
PORT 2C84 - EISA CONFIGURATION FLAGS (board in slot 2)
2C84 RW configuration flags (see #P1016)
--------X-P300030FF--------------------------
PORT 3000-30FF - available for EISA slot 3
--------S-P32203227--------------------------
PORT 3220-3227 - serial port 3, description same as 03F8
--------S-P3228322F--------------------------
PORT 3228-322F - serial port 4, description same as 03F8
--------V-P33C033CF--------------------------
PORT 33C0-33CF - Compaq QVision - BitBLT engine
--------X-P340034FF--------------------------
PORT 3400-34FF - available for EISA slot 3
--------d-P35103513--------------------------
PORT 3510-3513 - ESDI primary harddisk controller
Range: PORT 3510h-3513h (primary) or PORT 3518h-351Bh (secondary)
SeeAlso: PORT 3518h,PORT 01F0h-01F7h
3510w R- status word
3510w -W command word
3512 R- basic status
3512 -W basic control
3513 R- interrupt status
3513 -W attention
--------d-P3518351B--------------------------
PORT 3518-351B - ESDI secondary harddisk controller
Range: PORT 3510h-3513h (primary) or PORT 3518h-351Bh (secondary)
SeeAlso: PORT 3510h,PORT 01F0h-01F7h
3518w R- status word
3518w -W command word
351A R- basis status
351A -W basic control
351B R- interrupt status
351B -W attention
--------d-P3540354F--------------------------
PORT 3540-354F - IBM SCSI (Small Computer System Interface) adapter
--------d-P3550355F--------------------------
PORT 3550-355F - IBM SCSI (Small Computer System Interface) adapter
--------d-P3560356F--------------------------
PORT 3560-356F - IBM SCSI (Small Computer System Interface) adapter
--------d-P3570357F--------------------------
PORT 3570-357F - IBM SCSI (Small Computer System Interface) adapter
--------V-P36EE------------------------------
PORT 36EE - ATI Mach8/Mach32 - FIFO OPTION
SeeAlso: PORT 6AEEh,PORT 6EEEh,PORT 72EEh,PORT 76EEh,PORT 7AEEh,PORT 8EEEh
36EE -W FIFO option
bit 0: generate wait states if FIFO >= half full
(0=only when FIFO full)
bit 1: force 8-bit host data I/O
--------X-P380038FF--------------------------
PORT 3800-38FF - available for EISA slot 3
--------X-P3C003CFF--------------------------
PORT 3C00-3CFF - available for EISA slot 3
--------d-P3C003CBF--------------------------
PORT 3C00-3CBF - Adaptec AIC-777x EISA SCSI controller in EISA slot 3
SeeAlso: PORT 0340h-035Fh"Adaptec AHA-154x",PORT xxxxh"Adaptec AIC-78xx"
--------V-P3C803C8F--------------------------
PORT 3C80-3C8F - VESA XGA Video in EISA slot 3
3C80-3C83 RW EISA Video ID
3C84 RW EISA Video expansion board control
3C85 RW EISA Setup control
3C88 RW EISA Video Programmable Option Select 0
3C89-3C8F RW EISA Video Programmable Option Select 1-7
SeeAlso: PORT 1C80h-1C8Fh"XGA",PORT 2C80h-2C8Fh"XGA",PORT 7C80h-7C8Fh"XGA"
--------X-P3C803C83--------------------------
PORT 3C80-3C83 - EISA board product ID (board in slot 3)
SeeAlso: PORT 1C80h-1C83h
--------X-P3C84------------------------------
PORT 3C84 - EISA CONFIGURATION FLAGS (board in slot 3)
3C84 RW configuration flags (see #P1016)
--------X-P400040FF--------------------------
PORT 4000-40FF - available for EISA slot 4
----------P42204227--------------------------
PORT 4220-4227 - serial port, description same as 03F8
----------P4228422F--------------------------
PORT 4228-422F - serial port, description same as 03F8
----------P42E042EF--------------------------
PORT 42E0-42EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
42E1 RW GPIB (adapter 2)
--------V-P42E8------------------------------
PORT 42E8 - 8514/A and hardware-compatible video cards
Note: supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
42E8w R- Misc. control: Subsystem Status (see #P1018)
42E8w -W Misc. control: Subsystem Control (see #P1019)
Bitfields for 8514/A Subsystem Status register:
Bit(s) Description (Table P1018)
15-8 (8514/A) reserved
13 (S3) ???
12-8 (S3) ???
7 pixel length (0 = four bits, 1 = eight bits)
6-4 reserved
3 FIFO empty (interrupt generated if enabled)
2 FIFO overflow (interrupt generated if enabled)
1 Graphics Engine busy (interrupt generated if enabled)
0 vertical sync (interrupt generated if enabled)
SeeAlso: #P1019
Bitfields for 8514/A Subsystem Control Register:
Bit(s) Description (Table P1019)
15-14 GP_RESET
W 00 no change
01 normal operation
10 reset graphics processor and FIFO
11 reserved
13-12 reserved
11 W enable interrupt when graphics processor idle
10 W enable interrupt on invalid I/O (FIFO overlow)
9 W enable interrupt if inside scissors region
8 W enable vertical blanking interval interrupt
6-4 R monitor ID (8514/A)
7-4 reserved (S3)
3 acknowledge idle interrupt (and clear)
2 acknowledge invalid I/O interrupt (and clear)
1 acknowledge inside-scissors interrupt (and clear)
0 acknowledge vertical blanking interrupt (and clear)
SeeAlso: #P1018
--------V-P42EC------------------------------
PORT 42EC - ATI Mach64 - ???
SeeAlso: PORT 42EDh"Mach64"
42EC RW ???
bits 1-0: ???
--------V-P42ED------------------------------
PORT 42ED - ATI Mach64 - ???
SeeAlso: PORT 42ECh"Mach64",PORT 42EFh
42ED R? ???
--------V-P42EE42EF--------------------------
PORT 42EE-42EF - ATI Mach32 - MEMORY BOUNDARY REGISTER
SeeAlso: PORT 5EEEh"Mach32"
42EEw RW memory boundary
bits 3-0: VGA/8514 boundary in 256K units (VGA only below, 8514 above)
bit 4: partition enable: VGA and 8514 drawing engines may only write
within their respective partitions
bits 15-5: reserved
--------V-P42EF------------------------------
PORT 42EF - ATI Mach64 - ???
SeeAlso: PORT 42EDh"Mach64"
42EF R? ???
--------X-P440044FF--------------------------
PORT 4400-44FF - available for EISA slot 4
----------P4F15------------------------------
PORT 4F15 - Tseng Labs ET6000 - Read EDID through Display Data Channel
--------V-P46E8------------------------------
PORT 46E8 - VGA - VIDEO ADAPTER ENABLE
Note: IBM uses this port for adapter-card VGAs only, and PORT 03C3h for
motherboard VGA only (see 03C3 for details)
SeeAlso: PORT 03C3h,PORT 46E8h"8514/A",#P0748
46E8 rW Misc. control: enable flags / select ROM page (8514/A) (see #P1020)
Bitfields for VGA miscellaneous control register:
Bit(s) Description (Table P1020)
7-5 unused or vendor-specific
4 setup for POS registers (MCA)
3 enable video I/O ports and video buffer
2-0 unused or vendor-specific
--------V-P46E8------------------------------
PORT 46E8 - 8514/A and compatible (e.g. ATI Graphics Ultra) - ROM PAGE SELECT
Note: this register is readable on the C&T 82c480 chipset
SeeAlso: PORT 46E8h"VGA"
46E8w -W ROM page select (see #P1021)
Bitfields for 8514/A ROM page select register:
Bit(s) Description (Table P1021)
2-0 select which 4K page of 32K ROM to map at segment C700h
3 enable VGA
4 select VGA setup mode
15-5 reserved (0)
--------V-P46EE------------------------------
PORT 46EE - ATI Mach32 - ???
46EEw RW ???
--------V-P46EF------------------------------
PORT 46EF - ATI Mach64 - ???
Note: the Mach64 BIOS reads the value of this port and multiplies it by 100
SeeAlso: PORT 66ECh"Mach64"
--------X-P480048FF--------------------------
PORT 4800-48FF - available for EISA slot 4
--------V-P4AE84AE9--------------------------
PORT 4AE8-4AE9 - 8514/A and compatible - CRT CONTROL
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
SeeAlso: #P0749
4AE8w -W CRT control: Advanced function control (see also #P1022)
(02h = VGA mode, 03h = 480-line mode, 07h = 768-line mode)
Bitfields for S3 8514/A-compatible Advanced Function Control register:
Bit(s) Description (Table P1022)
15-7 reserved
6 (928 only) enable Write Posting
5 (928+) enable memory-mapped I/O
4 (928+) enable linear addressing (see also #P0741)
3 reserved
2 (911-928) screen size (1 = 800x600 or 1024x768, 0=640x480)
(Trio32/Trio64) enhanced modes pixel length (0 = 8+ bpp, 1 = 4 bpp)
1 reserved (1)
0 enable enhanced functions
Note: bit 4 is ORed with CR58 bit 4; bit 5 is ORed with CR53 bit 4
--------V-P4AEE------------------------------
PORT 4AEE - ATI Mach32 - ???
4AEEw RW ???
--------X-P4C004CFF--------------------------
PORT 4C00-4CFF - available for EISA slot 4
--------d-P4C004CBF--------------------------
PORT 4C00-4CBF - Adaptec AIC-777x EISA SCSI controller in EISA slot 4
SeeAlso: PORT 0340h-035Fh"Adaptec AHA-154x",PORT xxxxh"Adaptec AIC-78xx"
--------X-P4C804C83--------------------------
PORT 4C80-4C83 EISA board product ID (board in slot 4)
SeeAlso: PORT 1C80h-1C83h
--------V-P4C804C8F--------------------------
PORT 4C80-4C8F - VESA XGA Video in EISA slot 4 (see 3C80-3C8F)
SeeAlso: PORT 1C80h-1C8Fh,PORT 6C80h-6C8Fh
--------X-P4C84------------------------------
PORT 4C84 - EISA CONFIGURATION FLAGS (board in slot 4)
4C84 RW configuration flags (see #P1016)
--------X-P500050FF--------------------------
PORT 5000-50FF - available for EISA slot 5
--------S-P52205227--------------------------
PORT 5220-5227 - serial port, description same as 03F8
--------S-P5228522F--------------------------
PORT 5228-522F - serial port, description same as 03F8
--------V-P52E852E9--------------------------
PORT 52E8-52E9 - C&T 82c480 - EXTENDED CONFIGURATION REGISTER 0
Note: the 82c480 is an 8514/A-compatible video chipset
SeeAlso: PORT 56E8h"C&T",PORT 5AE8h"C&T",PORT 5EE8h"C&T"
52E8w RW Extended Configuration Register 0
--------V-P52EE52EF--------------------------
PORT 52EE-52EF - ATI Mach32 - SCRATCH REGISTER 0 (USED FOR ROM LOCATION)
Note: ATI video BIOS sets this port according to the segment address of the
BIOS if >= C000h, as ((seg-C000h) shr 7)
SeeAlso: PORT 56EEh"Mach32"
52EEw RW scratch register 0: Video ROM address
--------X-P540054FF--------------------------
PORT 5400-54FF - available for EISA slot 5
--------V-P56E856E9--------------------------
PORT 56E8-56E9 - C&T 82c480 - EXTENDED CONFIGURATION REGISTER 1
Note: the 82c480 is an 8514/A-compatible video chipset
SeeAlso: PORT 52E8h"C&T",PORT 5AE8h"C&T",PORT 5EE8h"C&T"
56E8w RW Extended Configuration Register 1
--------V-P56EE56EF--------------------------
PORT 56EE-56EF - ATI Mach32 - SCRATCH REGISTER 1
SeeAlso: PORT 52EEh"Mach32"
56EEw RW scratchpad
--------X-P580058FF--------------------------
PORT 5800-58FF - available for EISA slot 5
--------V-P5AE85AE9--------------------------
PORT 5AE8-5AE9 - C&T 82c480 - EXTENDED CONFIGURATION REGISTER 2
Note: the 82c480 is an 8514/A-compatible video chipset
SeeAlso: PORT 52E8h"C&T",PORT 56E8h"C&T",PORT 5EE8h"C&T"
5AE8w RW Extended Configuration Register 2
--------V-P5AEE------------------------------
PORT 5AEE - ATI Mach32 - ???
5AEE RW ???
--------X-P5C005CFF--------------------------
PORT 5C00-5CFF - available for EISA slot 5
--------d-P5C005CBF--------------------------
PORT 5C00-5CBF - Adaptec AIC-777x EISA SCSI controller in EISA slot 5
SeeAlso: PORT 0340h-035Fh"Adaptec AHA-154x",PORT xxxxh"Adaptec AIC-78xx"
--------V-P5C805C8F--------------------------
PORT 5C80-5C8F - VESA XGA Video in EISA slot 5
SeeAlso: PORT 2C80h-2C8Fh,PORT 4C80h-4C8Fh,PORT 6C80h-6C8Fh
5C80d RW EISA Video ID
5C84 RW EISA Video expansion board control
5C85 RW EISA Setup control
5C88 RW EISA Video Programmable Option Select 0
5C89 RW EISA Video Programmable Option Select 1
5C8A RW EISA Video Programmable Option Select 2
5C8B RW EISA Video Programmable Option Select 3
5C8C RW EISA Video Programmable Option Select 4
5C8D RW EISA Video Programmable Option Select 5
5C8E RW EISA Video Programmable Option Select 6
5C8F RW EISA Video Programmable Option Select 7
--------X-P5C805C83--------------------------
PORT 5C80-5C83 EISA board product ID (board in slot 5)
SeeAlso: PORT 1C80h-1C83h
--------X-P5C84------------------------------
PORT 5C84 - EISA CONFIGURATION FLAGS (board in slot 5)
5C84 RW configuration flags (see #P1016)
--------V-P5EE85EE9--------------------------
PORT 5EE8-5EE9 - C&T 82c480 - EXTENDED CONFIGURATION REGISTER 3
Note: the 82c480 is an 8514/A-compatible video chipset
SeeAlso: PORT 52E8h"C&T",PORT 56E8h"C&T",PORT 5AE8h"C&T"
5EE8w RW Extended Configuration Register 3
----------P5EEE------------------------------
PORT 5EEE - ATI Mach32 - MEMORY APERTURE CONFIGURATION REGISTER
SeeAlso: PORT 42EEh"Mach32"
5EEEw RW Memory Aperture Configuration (see #P1023)
Bitfields for ATI Mach32 Memory Aperture Configuration Register:
Bit(s) Description (Table P1023)
1-0 direct memory interface mapping
00 disabled
01 1M aperture (not on PCI)
10 4M aperture
11 reserved
3-2 1M page select (not on PCI)
00 page 0
01 page 1
10 page 2
11 page 3
11-8 (ISA) memory aperture location, 0-15 MB
13-8 (EISA) memory aperture location, 0-63 MB
14-8 (VLB) memory aperture location, 0-127 MB [*]
15-4 (PCI) memory aperture location, 0-4095 MB
13-8 (MCA 16-bit) memory aperture location, 0-63 MB
14-8 (MCA 32-bit) memory aperture location, 0-127 MB
Note: [*] if PORT 16EEh bit 3 is set and PORT FAEEh is non-zero, bits 15-4
are used to specify an address from 0-4095 MB
--------X-P600060FF--------------------------
PORT 6000-60FF - available for EISA slot 6
----------P62E062EF--------------------------
PORT 62E0-62EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
62E1 RW GPIB (adapter 3)
--------V-P63C063CF--------------------------
PORT 63C0-63CF - Compaq QVision - BitBLT engine
--------X-P640064FF--------------------------
PORT 6400-64FF - available for EISA slot 6
--------V-P66EC------------------------------
PORT 66EC - ATI Mach64 - ???
SeeAlso: PORT 6AECh"Mach64"
--------X-P680068FF--------------------------
PORT 6800-68FF - available for EISA slot 6
--------V-P6AEC6AED--------------------------
PORT 6AEC-6AED - ATI Mach64 - ???
SeeAlso: PORT 66ECh"Mach64"
--------V-P6AEE------------------------------
PORT 6AEE - ATI Mach8/Mach32 - MAXIMUM WAIT STATES
SeeAlso: PORT 36EEh,PORT 6EEEh,PORT 76EEh,PORT 7AEEh,PORT 8EEEh
6AEE RW maximum wait states (see #P1024)
Bitfields for ATI Mach8/Mach32 wait state configuration:
Bit(s) Description (Table P1024)
10 leave alone ("PASSTHROUGH_OVERRIDE")
9 enable for 16-bit I/O
8 0=horizontal degree-mode line draws
--------X-P6C006CFF--------------------------
PORT 6C00-6CFF - available for EISA slot 6
--------d-P6C006CBF--------------------------
PORT 6C00-6CBF - Adaptec AIC-777x EISA SCSI controller in EISA slot 6
SeeAlso: PORT 0340h-035Fh"Adaptec AHA-154x",PORT xxxxh"Adaptec AIC-78xx"
--------X-P6C806C83--------------------------
PORT 6C80-6C83 - EISA board product ID (board in slot 6)
SeeAlso: PORT 1C80h-1C83h
--------V-P6C806C8F--------------------------
PORT 6C80-6C8F - VESA XGA Video in EISA slot 1
SeeAlso: PORT 1C80h-1C8Fh"XGA",PORT 2C80h-2C8Fh"XGA",PORT 5C80h-5C8Fh"XGA"
6C80d RW EISA Video ID (see PORT 1C80h-1C83h)
6C84 RW EISA Video expansion board control
6C85 RW EISA Setup control
6C88 RW EISA Video Programmable Option Select 0
6C89 RW EISA Video Programmable Option Select 1
6C8A RW EISA Video Programmable Option Select 2
6C8B RW EISA Video Programmable Option Select 3
6C8C RW EISA Video Programmable Option Select 4
6C8D RW EISA Video Programmable Option Select 5
6C8E RW EISA Video Programmable Option Select 6
6C8F RW EISA Video Programmable Option Select 7
--------X-P6C84------------------------------
PORT 6C84 - EISA CONFIGURATION FLAGS (board in slot 6)
6C84 RW configuration flags (see #P1016)
--------V-P6EEC------------------------------
PORT 6EEC - ATI Mach64 - ???
SeeAlso: PORT 6AECh"Mach64"
--------V-P6EEE------------------------------
PORT 6EEE - ATI Mach8/Mach32 - ENGINE VIDEO BUFFER OFFSET LOW
SeeAlso: PORT 72EEh
6AEEw -W low 16 bits of video buffer starting offset
--------X-P700070FF--------------------------
PORT 7000-70FF - available for EISA slot 7
--------V-P72EC------------------------------
PORT 72EC - ATI Mach64 - ???
SeeAlso: PORT 66ECh"Mach64",PORT 72EFh"Mach64"
--------V-P72EE------------------------------
PORT 72EE - ATI Mach8/Mach32 - ENGINE VIDEO BUFFER OFFSET HIGH
SeeAlso: PORT 6EEEh
72EE -W high bits of video buffer starting offset
bits 1-0 for Mach-8
bits 3-0 for Mach-32
--------V-P72EE------------------------------
PORT 72EE - ATI Mach8/Mach32 - BOUNDS ACCUMULATOR (LEFT)
SeeAlso: PORT 76EEh"BOUNDS",PORT 7AEEh"BOUNDS",PORT 7EEEh"BOUNDS"
72EEw R- left edge of bounding box for points written via Line Draw register
--------V-P72EF------------------------------
PORT 72EF - ATI Mach64 - ???
SeeAlso: PORT 66ECh"Mach64",PORT 72ECh"Mach64"
--------X-P740074FF--------------------------
PORT 7400-74FF - available for EISA slot 7
--------V-P76EE------------------------------
PORT 76EE - ATI Mach8/Mach32 - ENGINE DISPLAY PITCH
SeeAlso: PORT 6AEEh,PORT 7AEEh
76EE -W display pitch
--------V-P76EE------------------------------
PORT 76EE - ATI Mach8/Mach32 - BOUNDS ACCUMULATOR (TOP)
SeeAlso: PORT 72EEh"BOUNDS",PORT 7AEEh"BOUNDS",PORT 7EEEh"BOUNDS"
76EEw R- top edge of bounding box for points written via Line Draw register
--------X-P780078FF--------------------------
PORT 7800-78FF - available for EISA slot 7
--------V-P7AEE------------------------------
PORT 7AEE - ATI Mach8/Mach32 - EXTENDED GRAPHICS ENGINE CONGIFURATION
SeeAlso: PORT 8EEEh
7AEEw -W extended graphics engine configuration (see #P1025)
Bitfields for Mach8/Mach32 extended graphics engine configuration:
Bit(s) Description (Table P1025)
15 drawing pixel size to be written next (68800-6 only)
14 enable 8-bit DAC (Mach-32 only)
13-12 DAC address inputs RS(3:2) control (Mach-32 only)
11 display pixel size to be written next (68800-6 only)
10 24-bit color order (Mach-32 only)
0 = RGB
1 = BGR
9 24-bit color configuration: pixels use 4 bytes instead of three
8 DAC processes four pixels in parallel (Mach-32 only)
7-6 16-bits-per-color word format (Mach-32 only)
00 RGB(5,5,5)
01 RGB(5,6,5)
10 RGB(6,5,5)
11 RGB(6,6,4)
5-4 number of bits per pixel (Mach-32 only)
00 four
01 eight
10 sixteen
11 twenty-four
3 report monitor alias instead of actual monitor
2-0 alternate monitor ID (alias)
--------V-P7AEE------------------------------
PORT 7AEE - ATI Mach8/Mach32 - BOUNDS ACCUMULATOR (RIGHT)
SeeAlso: PORT 72EEh"BOUNDS",PORT 76EEh"BOUNDS",PORT 7EEEh"BOUNDS"
7AEEw R- right edge of bounding box for points written via Line Draw register
--------X-P7C007CFF--------------------------
PORT 7C00-7CFF - available for EISA slot 7
--------d-P7C007CBF--------------------------
PORT 7C00-7CBF - Adaptec AIC-777x EISA SCSI controller in EISA slot 7
SeeAlso: PORT 0340h-035Fh"Adaptec AHA-154x",PORT xxxxh"Adaptec AIC-78xx"
--------X-P7C807C83--------------------------
PORT 7C80-7C83 - EISA board product ID (board in slot 7)
SeeAlso: PORT 1C80h-1C83h
--------V-P7C807C8F--------------------------
PORT 7C80-7C8F - VESA XGA Video in EISA slot 7
SeeAlso: PORT 1C80h-1C8Fh,PORT 6C80h-6C8Fh
7C80-7C83 RW EISA Video ID
7C84 RW EISA Video expansion board control
7C85 RW EISA Setup control
7C88 RW EISA Video Programmable Option Select 0
7C89-7C8F RW EISA Video Programmable Option Select 1-7
--------X-P7C84------------------------------
PORT 7C84 - EISA CONFIGURATION FLAGS (board in slot 7)
7C84 RW configuration flags (see #P1016)
--------V-P7EEE------------------------------
PORT 7EEE - ATI Mach8/Mach32 - BOUNDS ACCUMULATOR (RIGHT)
SeeAlso: PORT 72EEh"BOUNDS",PORT 76EEh"BOUNDS",PORT 7AEEh"BOUNDS"
7EEEw R- right edge of bounding box for points written via Line Draw register
--------X-P800080FF--------------------------
PORT 8000-80FF - available for EISA slot 8
----------P82E082EF--------------------------
PORT 82E0-82EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
82E1 RW GPIB (adapter 4)
--------V-P82E882E9--------------------------
PORT 82E8-82E9 - 8514/A and compatible - CURRENT Y POSITION
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
SeeAlso: PORT 86E8h,PORT 82EAh
82E8w -W drawing control: current Y position
--------V-P82EA82EB--------------------------
PORT 82EA-82EB - S3 Trio64 - CURRENT Y POSITION 2
SeeAlso: PORT 82E8h
82EAw drawing control: current Y position 2
--------S-P82F882FF--------------------------
PORT 82F8-82FF - serial port, description same as 03F8
--------V-P83C083CF--------------------------
PORT 83C0-83CF - Compaq QVision - Line Draw Engine
--------V-P83C4------------------------------
PORT 83C4 - Compaq Qvision EISA - Virtual Controller Select
--------V-P83C683C9--------------------------
PORT 83C6-83C9 - Compaq Qvision EISA - DAC color registers
SeeAlso: PORT 03C6h
--------V-P83C683C9--------------------------
PORT 83C6-83C9 - Chips&Technologies 64200 (Wingine) - DAC color registers
SeeAlso: PORT 03C6h
83C6 RW color palette pixel mask
83C7 R- color palette state
83C7 -W color palette read-mode index
83C8 RW color palette write-mode index
83C9 RW color palette data (three bytes)
----------P83D09FD3--------------------------
PORT 83D0-9FD3 - Chips&Techs 64310 - 32-BIT EXTENSION REGS - BitBLT
Notes: All ports are word or dword accessible.
These registers are also accessible in the upper 2 MB of the 4 MB
linear memory frame buffer (address specified in PCI configuration
registers).
SeeAlso: PORT 03D6h"Chips",PORT A3D0h"Chips"
83D0d RW "DR00" BitBlt offset register (see #P1026)
87D0d RW "DR01" BitBlt pattern ROP register (see #P1027)
8BD0d RW "DR02" BitBlt background color register (see #P1028)
8FD0d RW "DR03" BitBlt foreground color register (see #P1029)
93D0d RW "DR04" BitBlt control register (see #P1030)
97D0d RW "DR05" BitBlt source register (see #P1031)
9BD0d RW "DR06" BitBlt destination register (see #P1032)
9FD0d RW "DR07" BitBlt command register (see #P1033)
Bitfields for Chips&Technologies 64310 "DR00" BitBlt offset register:
Bit(s) Description (Table P1026)
31-28 reserved (0)
27-16 destination offset
15-12 reserved (0)
11-0 source offset
Bitfields for Chips&Technologies 64310 "DR01" BitBlt pattern ROP register:
Bit(s) Description (Table P1027)
31-21 reserved (0)
20-0 pattern pointer (must be pattern size aligned)
Note: Do not read this register while BitBlt is active.
Bitfields for Chips&Technologies 64310 "DR02" BitBlt background color register:
Bit(s) Description (Table P1028)
31-16 reserved (contents of bits 15-0 on read)
15-0 background color for opaque mono-color expansions
(all bits must be used; use same data in bits 15-8 and 7-0 for 8BPP)
Bitfields for Chips&Technologies 64310 "DR03" BitBlt foreground color register:
Bit(s) Description (Table P1029)
31-16 reserved (contents of bits 15-0 on read)
15-0 foreground color for mono-color expansions/color for solid paint
operations
(all bits must be used; use same data in bits 15-8 and 7-0 for 8BPP)
Bitfields for Chips&Technologies 64310 "DR04" BitBlt control register:
Bit(s) Description (Table P1030)
31-28 reserved (0)
27-24 buffer status (number of dwords that can be written to the chip)
23-21 reserved (0)
20 BitBlt status (read-only)
0 = idle
1 = active (do not write BitBlt registers)
19 0 = bitmap pattern
1 = solid pattern (brush)
18-16 pattern starting row
15-14 BitBlt source (destination always video frame buffer)
00 = video frame buffer
01 = system memory
1x = reserved
13 background for monochrome pattern and font expansion
0 = opaque (color in DR02)
1 = transparent (unchanged)
12 pattern depth
0 = color
1 = monochrome
11 source depth
0 = color
1 = monochrome (font expansion only if bit 9 = 1)
10 source data
0 = selected by bit 14
1 = foreground color reg (DR03)
9 X direction (use when source and destination areas overlap)
0 = decrement (right to left)
1 = increment (left to right)
8 Y direction (use when source and destination areas overlap)
0 = decrement (bottom to top)
1 = increment (top to bottom)
7-0 raster operation (as defined by Windows)
SeeAlso: #P1031,#P1033
Bitfields for Chips&Technologies 64310 "DR05" BitBlt source register:
Bit(s) Description (Table P1031)
31-21 reserved (0)
20-0 source block address (must be byte aligned)
Note: Do not read this register while BitBlt is active.
SeeAlso: #P1030,#P1032
Bitfields for Chips&Technologies 64310 "DR06" BitBlt destination register:
Bit(s) Description (Table P1032)
31-21 reserved (0)
20-0 destination block address (must be byte aligned)
Note: Do not read this register while BitBlt is active.
SeeAlso: #P1031,#P1033
Bitfields for Chips&Technologies 64310 "DR07" BitBlt command register:
Bit(s) Description (Table P1033)
31-28 reserved (0)
27-16 lines per block
15-12 reserved (0)
11-0 bytes per line
SeeAlso: #P1031,#P1032
--------S-P83F883FF--------------------------
PORT 83F8-83FF - serial port, description same as 03F8
--------X-P840084FF--------------------------
PORT 8400-84FF - available for EISA slot 8
--------V-P86E886E9--------------------------
PORT 86E8-86E9 - 8514/A and compatible - CURRENT X POSITION
Desc: define the column at which the first pixel of a line, rectangle, etc.
will be drawn; (Trio64) define the column at which the first of two
edges for a polygon or trapezoid will begin
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
SeeAlso: PORT 82E8h,PORT 8AE8h,86EAh
86E8w -W drawing control: current X position (bits 11-0)
--------V-P86EA86EB--------------------------
PORT 86EA-86EB - S3 Trio64 - CURRENT X POSITION 2
Desc: define the column at which the second of two edges for a polygon or
trapezoid will begin
SeeAlso: PORT 86E8h
86EAw RW drawing control: current X position 2 (bits 11-0)
--------X-P880088FF--------------------------
PORT 8800-88FF - available for EISA slot 8
--------V-P8AE88AE9--------------------------
PORT 8AE8-8AE9 - 8514/A and compatible - DESTINATION Y POSITION
Desc: define the top row of the destination for a BLT, the axial step
constant for a line, or the ending row of a line segment in a
polyline; (Trio64) define the ending row of the first edge drawn
for a polygon or trapezoid
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
SeeAlso: PORT 82E8h,PORT 86E8h
8AE8w -W drawing control: destination Y position / axial step constant
(see #P1034)
Note: this port may be read on S3 chipsets
Bitfields for 8514/A destination Y position / axial step constant register:
Bit(s) Description (Table P1034)
11-0 destination Y position
13-0 axial step constant for line drawing
15-14 reserved
--------V-P8AEA8AEB--------------------------
PORT 8AEA-8AEB - S3 Trio64 - DESTINATION Y COORD 2 / AXIAL STEP CONSTANT 2
Desc: define the row at which the second of two edges for a polygon or
trapezoid will end, or the axial step constant for the second of
two edges for a Bresenham trapezoid
SeeAlso: PORT 8AE8h
8AEAw RW drawing control: destination Y position 2 / axial step constant 2
(see #P1034)
--------X-P8C008CFF--------------------------
PORT 8C00-8CFF - available for EISA slot 8
--------X-P8C808C83--------------------------
PORT 8C80-8C83 - EISA board product ID (board in slot 8)
SeeAlso: PORT 1C80h-1C83h
--------X-P8C84------------------------------
PORT 8C84 - EISA CONFIGURATION FLAGS (board in slot 8)
8C84 RW configuration flags (see #P1016)
--------V-P8EE88EE9--------------------------
PORT 8EE8-8EE9 - 8514/A and compatible - DESTINATION X POSITION
Desc: define the left column of the destination for a BLT, the diagonal step
constant for a line, or the ending column of a line segment in a
polyline; (Trio64) define the ending column of the first edge drawn
for a polygon or trapezoid
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
SeeAlso: PORT DAEEh"Mach32",PORT 8EEAh
8EE8w -W drawing control: destination X position / axial step constant
(see #P1034)
--------V-P8EEA8EEB--------------------------
PORT 8EEA-8EEB - S3 Trio64 - DESTINATION X COORD 2 / AXIAL STEP CONSTANT 2
Desc: define the column at which the second of two edges for a polygon or
trapezoid will end, or the axial step constant for the second of
two edges for a Bresenham trapezoid
SeeAlso: PORT 8EE8h
8EEAw RW drawing control: destination X position 2 / diagonal step constant 2
(see #P1034)
--------V-P8EEE------------------------------
PORT 8EEE - ATI Mach32 - READ EXTENDED GRAPHICS CONFIGURATION
SeeAlso: PORT 72EEh
8EEE R- read extended graphics configuration (see #P1025)
--------X-P900090FF--------------------------
PORT 9000-90FF - available for EISA slot 9
--------V-P92E892E9--------------------------
PORT 92E8-92E9 - 8514/A and compatible - BRESENHAM ERROR TERM
Desc: specify the initial error term for drawing a line using the Bresenham
algorithm
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
the error term is 2*min(|dx|,|dy|) - max(|dx|,|dy|) - 1 [startX < endX]
or 2*min(|dx|,|dy|) - max(|dx|,|dy|) [startX >= endX]
SeeAlso: PORT 92EAh
92E8w -W drawing control: Bresenham error term (bits 13-0)
--------V-P92EA92EB--------------------------
PORT 92EA-92EB - S3 Trio64 - LINE ERROR TERM 2
Desc: specify the initial error term for the second edge of a Bresenham
trapezoid
SeeAlso: PORT 92E8h
92EAw RW drawing control: Bresenham error term 2 (bits 13-0)
--------X-P940094FF--------------------------
PORT 9400-94FF - available for EISA slot 9
--------V-P96E896E9--------------------------
PORT 96E8-96E9 - 8514/A and compatible - MAJOR AXIS PIXEL COUNT
Desc: specify the pixel length of the longest axis of a line, or the width
of a rectangle, BLT, or image transfer; (Trio64) specify the major
axis length of the first edge of a Bresenham trapezoid
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
the value programmed into this register is one less than the desired
width or major-axis length
SeeAlso: PORT 96EAh
96E8w R- enter WD Enhanced Mode
96E8w -W drawing control: major axis pixel count (bits 11-0)
--------V-P96EA96EB--------------------------
PORT 96EA-96EB - S3 Trio64 - MAJOR AXIS PIXEL COUNT 2
Desc: specify the major axis length of the second edge for a Bresenham
trapezoid
Note: the value programmed into this register is one less than the desired
width or major-axis length
SeeAlso: PORT 96E8h
96EAw RW drawing control: major axis pixel count 2 (bits 11-0)
--------X-P980098FF--------------------------
PORT 9800-98FF - available for EISA slot 9
--------V-P9AE89AE9--------------------------
PORT 9AE8-9AE9 - 8514/A and compatible - GRAPHICS PROCESSOR STATUS / COMMAND
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
SeeAlso: PORT 9AEAh
9AE8w R- drawing control: graphic processor status (see #P1035)
9AE8w -W drawing control: command register (see #P1036)
Bitfields for 8514/A graphic processor status:
Bit(s) Description (Table P1035)
15-10 (8514/A) reserved
15 (S3 Trio64 only) queue status flags 9
14-11 (S3 Trio64 only) queue status flags 10-13
10 (S3 Trio64 only) all FIFO slots are empty
9 hardware busy
8 (8514/A) data ready
(S3 Trio64) reserved
7 queue status flag 1
6-0 queue status flags 2-8 (0=empty, 1=filled)
(each bit represents a position in queue)
Note: queue status flag N is cleared whenever at least N slots are available
in the FIFO; at any given time, the CPU may write only as many values
to the FIFO as there are slots available
SeeAlso: #P1036
Bitfields for 8514/A command register :
Bit(s) Description (Table P1036)
15-13 command (see #P1037)
12 byte sequence (0=high byte first, 1=low byte first)
11-10 (8514/A) reserved
11 (S3 Trio) high bit of command (see #P1037)
10 (S3 Trio) enable 32-bit write access
9 enable 16-bit write access (16BIT)
8 0=use 8514/A data, 1=pixel data trans reg (PCDATA) (see PORT E2E8h)
7 0=draw vector above, 1=draw vector below (INC_Y)
6 0=x is maj. axis, 1=y is maj. axis (YMAJAXIS)
5 0=draw vector left, 1=draw vector right (INC_X)
(bits 7-5 are the drawing direction in 45-degree increments
counterclockwise from the X axis when bit 3 is set)
4 0=move only, 1=draw and move (DRAW)
3 0=Bresenham line, 1=direct vector (LINETYPE)
2 0=draw last pixel, 1=don't draw last pixel (LASTPIX)
1 0=single pixel, 1=4pixel (PLANAR)
0 0=read data, 1=write data (RD/WR) (must be 1 on S3 Trio)
SeeAlso: #P1035,#P1038
(Table P1037)
Values for 8514/A command:
000 no operation (used to force synchronization with graphics processor,
or to set up short stroke vector drawing without writing any pixels)
001 draw vector
010 fast rectangle fill
011 (8514/A) rectangle fill vertical #1
(S3 Trio64) polygon fill solid
100 (8514/A) rectangle fill vertical #2 (4 pixels)
(S3 Trio64) 4-point trapezoid fill solid
101 (8514/A) draw vector, 1 pixel/scanline
(S3 Trio64) Bresenham trapezoid fill solid
110 copy rectangle
111 (8514/A) reserved
(S3 Trio64) patterned BLT
---S3 Trio64---
1001 polyline / 2-point line
1011 polygon fill pattern
1100 4-point trapezoid fill pattern
1101 Bresenham trapezoid fill pattern
SeeAlso: #P1036
--------V-P9AEA9AEB--------------------------
PORT 9AEA-9AEB - S3 Trio64 - DRAWING COMMAND 2
Desc: specify the drawing direction for the second edge of a Bresenham
trapezoid
SeeAlso: PORT 9AE8h
9AEAw -W drawing command 2 (see #P1038)
Bitfields for S3 Trio64 Drawing Command 2 register:
Bit(s) Description (Table P1038)
15-8 reserved
7-5 drawing direction
7 0=draw vector above, 1=draw vector below (INC_Y)
6 0=x is maj. axis, 1=y is maj. axis (YMAJAXIS)
5 0=draw vector left, 1=draw vector right (INC_X)
4-0 reserved
SeeAlso: #P1036
--------V-P9AEE------------------------------
PORT 9AEE - ATI Mach8/Mach32 - LINEDRAW INDEX REGISTER
SeeAlso: PORT FEEEh
9AEE -W linedraw index register (specifies interpretation of PORT FEEEh)
(see #P1039)
(Table P1039)
Values for ATI Mach8/Mach32 Linedraw Index Register:
00h set current X
01h set current Y
02h set Line End X
03h set Line End Y, draw line, and reset register to 02h
04h set current X (perform moves instead of draws)
05h set current Y and reset register to 04h
--------X-P9C009CFF--------------------------
PORT 9C00-9CFF - available for EISA slot 9
--------X-P9C809C83--------------------------
PORT 9C80-9C83 - EISA board product ID (board in slot 9)
SeeAlso: PORT 1C80h-1C83h
--------X-P9C84------------------------------
PORT 9C84 - EISA CONFIGURATION FLAGS (board in slot 9)
9C84 RW configuration flags (see #P1016)
--------V-P9EE89EE9--------------------------
PORT 9EE8-9EE9 - 8514/A and compatible - SHORT STROKE VECTORS
Desc: specify two short-stroke vectors to be drawn one after the other
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
bit 12 of the command register (see PORT 9AE8h,#P1036) specifies which
vector is drawn first
9EE8w -W short line vector transfer (see #P1040)
Bitfields for 8514/A short-stroke vector:
Bit(s) Description (Table P1040)
15-13 second vector: drawing direction
12 second vector: draw/move
11-0 second vector: length in pixels (less 1)
7-5 first vector: drawing direction
000 zero degrees = right
001 45 degress = up and right
010 90 degrees = up
...
111 315 degrees = down and right
4 first vector: draw/move (=0 move only, =1 draw and move)
3-0 first vector: length in pixels (less 1)
--------S-PA220------------------------------
PORT A220 - soundblaster support in AMI Hi-Flex BIOS ????
----------PA2E0A2EF--------------------------
PORT A2E0-A2EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
A2E1 RW GPIB (adapter 5)
--------V-PA2E8A2EB--------------------------
PORT A2E8-A2EB - 8514/A and compatible - BACKGROUND COLOR
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
SeeAlso: PORT A6E8h
A2E8w -W drawing control: background color
A2E8d RW (S3) drawing control: 32bpp background color
--------V-PA2EEA2EF--------------------------
PORT A2EE-A2EF - ATI Mach8/Mach32 - LINE DRAW OPTIONS
SeeAlso: PORT 8EEEh,PORT CEEEh
A2EEw RW line drawing options (see #P1041)
Bitfields for ATI Mach8/Mach32 line drawing options:
Bit(s) Description (Table P1041)
10-9 clipping mode
00 disable clip exception
01 stroked plain lines
10 polygon boundary lines
11 patterned lines
8 reset all Bounds Accumulator registers
7-5 OCTANT: direction for BitBlts or lines
3 direction specification
0 = Bresenham/Octant
bit 7: increment Y
bit 6: Y is major axis instead of X
bit 5: increment X
1 = line-length and degrees
OCTANT field species N*45 degrees
2 do NOT draw last pixel of a line
1 polyline draw
----------PA3D0BFD3--------------------------
PORT A3D0-BFD3 - Chips&Techs 64310 - 32-BIT EXTENSION REGS - CURSOR CONTROL
Notes: All ports are word or dword accessible.
These registers are also accessible in the upper 2 MB of the 4 MB
linear memory frame buffer (address specified in PCI configuration
registers).
SeeAlso: PORT 03D6h"Chips",PORT 83D0h"Chips"
A3D0d RW "DR08" cursor control register (see #P1042)
A7D0d RW "DR09" cursor color register (see #P1043)
ABD0d -- "DR0A" reserved
AFD0d RW "DR0B" cursor position register (see #P1044)
B3D0d RW "DR0C" cursor base address (see #P1045)
B7D0d -- "DR0D" reserved
BBD0d -- "DR0E" reserved
BFD0d -- "DR0F" reserved
Bitfields for Chips&Technologies 64310 "DR08" cursor control register:
Bit(s) Description (Table P1042)
31-8 reserved (0)
7-6 test (must be 0)
5 upper left corner (ULC) select
(all x, y positioning is relative to selected ULC)
0 = active display (BLANK#) (cursor can be positioned in overscan
area)
1 = display enable (cursor cannot be positioned to overscan area)
4-2 reserved (must be 0)
1-0 hardware cursor enable
00 = disable
01 = 32x32 cursor enable
10 = 64x64 cursor enable
11 = illegal/reserved
Bitfields for Chips&Technologies 64310 "DR09" cursor color register:
Bit(s) Description (Table P1043)
31-27 cursor color 1 red
26-21 cursor color 1 green
20-16 cursor color 1 blue
15-11 cursor color 0 red
10-5 cursor color 0 green
4-0 cursor color 0 blue
SeeAlso: #P1044,#P1045
Bitfields for Chips&Technologies 64310 "DR0B" cursor position register:
Bit(s) Description (Table P1044)
31 Y sign
30-27 reserved (0)
26-16 cursor position Y offset from ULC (DR08 bit 5)
15 X sign
14-11 reserved (0) (ignored)
10-0 cursor position X offset from ULC (DR08 bit 5)
SeeAlso: #P1043,#P1045
Bitfields for Chips&Technologies 64310 "DR0C" cursor base address:
Bit(s) Description (Table P1045)
31-21 reserved (0)
20-10 base address for cursor data in display memory
(cursor data must be at 1K boundary in off-screen memory)
9-0 reserved (0)
SeeAlso: #P1043,#P1044
--------V-PA6E8A6EB--------------------------
PORT A6E8-A6EB - 8514/A and compatible - FOREGROUND COLOR
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
SeeAlso: PORT A2E8h,PORT AAE8h,PORT AEE8h
A6E8w -W drawing control: foreground color
A6E8d RW (S3) drawing control: foreground color for 32bpp modes
--------V-PAAE8AAEB--------------------------
PORT AAE8-AAEB - 8514/A and compatible - WRITE MASK
Desc: specify which bit planes are updates when a pixel is written
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
SeeAlso: PORT A6E8h,PORT AEE8h
AAE8w -W drawing control: write mask
AAE8d RW (S3) drawing control: write mask for 32bpp modes
--------V-PAEE8AEEB--------------------------
PORT AEE8-AEEB - 8514/A and compatible - READ MASK
Desc: specify which bit planes are used as a data source
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
SeeAlso: PORT AAE8h,PORT B2E8h
AEE8w -W drawing control: read mask
AEE8d RW (S3) drawing control: read mask for 32bpp modes
--------V-PAFFF------------------------------
PORT AFFF - VIDEO REGISTER
AFFF RW plane 0-3 system latch (video register)
--------S-PB220B227--------------------------
PORT B220-B227 - serial port, description same as 03F8
--------S-PB228B22F--------------------------
PORT B228-B22F - serial port, description same as 03F8
--------V-PB2E8B2EB--------------------------
PORT B2E8-B2EB - 8514/A and compatible - COLOR COMPARE
Notes: supported by ATI Graphics Ultra
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
SeeAlso: PORT B6E8h,PORT BAE8h,PORT BEE8h
B2E8w -W drawing control: color compare
B2E8d RW (S3) drawing control: color compare for 32bpp modes
--------V-PB2EE------------------------------
PORT B2EE - ATI Mach32 - ???
B2EEw RW ???
--------V-PB6E8B6E9--------------------------
PORT B6E8-B6E9 - 8514/A and compatible - BACKGROUND MIX
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
SeeAlso: PORT BAE8h,PORT BEE8h,PORT B2E8h
B6E8w -W drawing control: background mix (see #P1046)
Note: this register may be read on S3 chipsets
--------V-PB6EE------------------------------
PORT B6EE - ATI Mach32 - ???
B6EEw RW ???
--------V-PBAE8BAE9--------------------------
PORT BAE8-BAE9 - 8514/A and compatible - FOREGROUND MIX
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
SeeAlso: PORT B6E8h
BAE8w -W drawing control: foreground mix (see #P1046)
Note: this register may be read on S3 chipsets
Bitfields for 8514/A color mix register:
Bit(s) Description (Table P1046)
15-7 reserved
6-5 color source
00 background color
01 foreground color
10 CPU data
11 display memory
4 reserved
3-0 mix type
0000 negate current color
0001 logical zero
0010 logical one
0011 leave unchanged
0100 negate new color
0101 current XOR new
0110 negate (current XOR new)
0111 new color
1000 (NOT current) OR (NOT new)
1001 current OR (NOT new)
1010 (NOT current) OR new
1011 current OR new
1100 current AND new
1101 (NOT current) AND new
1110 current AND (NOT new)
1111 (NOT current) AND (NOT new)
--------V-PBAEE------------------------------
PORT BAEE - ATI Mach32 - ???
BAEEw RW ???
--------V-PBEE8BEE9--------------------------
PORT BEE8-BEE9 - 8514/A and compatible - MULTIFUNCTION CONTROL
Notes: supported by ATI Mach8 and Mach32 chipsets
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
writes to the registers accessed via this port are pipelined; a NOP
command (see PORT 9AE8h) is required to ensure correct read-back
immediately after a write
BEE8w -W drawing control: multi-function control (see #P1048)
BEE8w R- (S3) value of register specified by current value of multi-function
read select register (index 0Fh bits 3-0) (see #P1048)
(Table P1047)
Values for index into 8514/A multi-function drawing control registers:
00h RW minor axis pixel count
01h RW top scissors
02h RW left scissors
03h RW bottom scissors
04h RW right scissors
05h -W memory control register
08h -W fixed pattern low
09h -W fixed pattern high
0Ah RW data manipulation control
---S3 chipsets---
0Dh RW (S3 864/964) miscellaneous 2
0Eh RW (S3 801+) miscellaneous
0Fh -W (S3 801/805/928) read register select (see #P1049)
SeeAlso: #P1048
Bitfields for 8514/A Multi-Function Control registers:
Bit(s) Description (Table P1048)
15-12 register index (see #P1047)
---register 00h: minor axis pixel count---
11-0 rectangle height - 1
---register 01h: top scissors---
11-0 top edge of clipping box
---register 02h: left scissors---
11-0 left edge of clipping box
---register 03h: bottom scissors---
11-0 bottom edge of clipping box
---register 04h: right scissors---
11-0 right edge of clipping box
---register 05h: memory control---
???
---register 08h: fixed pattern low---
11-8 (S3 Trio32/64) reserved
7-6 mix register
00 always select Foreground Mix register
01 reserved
10 mix register selected by CPU data
11 mix register selected by display memory value
5-0 (S3 Trio32/64) reserved
---register 09h: fixed pattern high---
???
---register 0Ah: data manipulation control---
???
---register 0Dh: miscellaneous 2---
11-7 reserved
6-4 source base address
000 in first meg of display memory
001 in second meg
010 in third meg
011 in fourth meg
3 reserved
2-0 destination base address (settings as for bits 6-4)
---register 0Eh: miscellaneous---
11-10 reserved (0)
9 select 32-bit command registers; disable byte and word writes to regs
(see PORT A2E8h,PORT A6E8h,PORT AAE8h,PORT B2E8h)
8 enable color comparison
7 don't update bitmap if source color differs from Color Compare register
(see PORT B2E8h)
6 slow Graphics Engine read/modify/write cycle (adds one wait state)
5 clipping direction
=0 draw only inside clip rectangle
=1 draw only outside clip rectangle
4 select upper 16 bits of 32-bit registers in 32 bpp graphics mode
3-2 source base address, bits 21-20
1-0 destination base address, bits 21-20
Note: these base addresses are ignored if the corresponding base
address in register 0Dh is nonzero
---register 0Fh: multifunction read select---
11-4 reserved
3-0 (S3) read select (see #P1049)
2-0 (8514/A) read select (see #P1049)
(Table P1049)
Values for S3 multifunction read select register:
00h PORT BEE8h register 00h
01h PORT BEE8h register 01h
02h PORT BEE8h register 02h
03h PORT BEE8h register 03h
04h PORT BEE8h register 04h
05h PORT BEE8h register 0Ah
06h PORT BEE8h register 0Eh
07h PORT 9AE8h (bits 11-0 only)
---S3 864/964 only---
08h PORT 42E8h (bits 11-0 only)
09h PORT 46E8h
0Ah PORT BEE8h register 0Dh
SeeAlso: #P1047,#P1048
--------X-PC000CFFF--------------------------
PORT C000-CFFF - PCI Configuration Mechanism 2 - CONFIGURATION SPACE
Note: to access the configuration space, write the target bus number to
PORT 0CFAh, then write to the Configuration Space Enable register
(PORT 0CF8h), and finally read or write the appropriate I/O
port(s) in the range C000h to CFFFh (where Cxrrh accesses location
'rr' in physical device 'x's configuration data)
SeeAlso: PORT 0CF8h"Mechanism 2",PORT 0CFAh"Mechanism 2"
SeeAlso: #00878 at INT 1A/AX=B10Ah
--------d-PC100C1FF--------------------------
PORT C100-C1FF - Intel Pentium mboard - PCTech RZ1000 EIDE controller
Desc: the PCI configuration registers for the EIDE controller are visible
on these ports when the PCI configuration space has been opened via
ports 0CF8h and 0CFAh
SeeAlso: PORT 03F0h"RZ1000",PORT 0CF8h,#00878 at INT 1A/AX=B10Ah
----------PC200C204--------------------------
PORT C200-C204 - Intel Pentium mboard ("Neptune" chipset)
Desc: the PCI configuration registers for the motherboard chipset are visible
on these ports when the PCI configuration space has been opened via
ports 0CF8h and 0CFAh
SeeAlso: #00878 at INT 1A/AX=B10Ah
--------S-PC220C227--------------------------
PORT C220-C227 - serial port, description same as 03F8
--------S-PC228C22F--------------------------
PORT C228-C22F - serial port, description same as 03F8
----------PC244------------------------------
PORT C244 - Intel Pentium mboard ("Neptune" chipset)
----------PC2E0C2EF--------------------------
PORT C2E0-C2EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
C2E1 RW GPIB (adapter 6)
--------V-PC2EE------------------------------
PORT C2EE - ATI Mach32 - ???
C2EEw RW ???
--------V-PC6EE------------------------------
PORT C6EE - ATI Mach32 - SHORT-STROKE VECTOR
C6EEw -W short-stroke vector
--------V-PCAEE------------------------------
PORT CAEE - ATI Mach32 - ???
CAEEw RW ???
----------PCEEE------------------------------
PORT CEEE - ATI Mach8/Mach32 - DATAPATH CONFIGURATION
SeeAlso: PORT 8EEEh
CEEEw -W datapath configuration (see #P1050)
Bitfields for ATI Mach8/Mach32 datapath configuration:
Bit(s) Description (Table P1050)
15-13 foreground color source
000 background color reg
001 foreground color reg
010 pixel transfer reg
011 VRAM BitBlt source
101 color pattern shift register
12 least-significant byte first
9 data width is 16 bits instead of 8 bits
8-7 background color source
00 background color reg
01 foreground color reg
10 pixel transfer reg
11 VRAM BitBlt source
6-5 monochrome data source
00 always one
01 mono pattern register
10 pixel transfer register
11 VRAM BitBlt source
4 enable drawing
2 read color data instead of monochrome data
1 enable polygon fill BitBlt
0 write data to drawing trajectory instead of reading from trajectory
--------S-PD220D227--------------------------
PORT D220-D227 - serial port, description same as 03F8
SeeAlso: PORT 03F8h,PORT D228h
--------S-PD228D22F--------------------------
PORT D228-D22F - serial port, description same as 03F8
SeeAlso: PORT 03F8h,PORT D220h
--------V-PD2EE------------------------------
PORT D2EE - ATI Mach32 - ???
D2EEw RW ???
--------V-PDAEEDAEF--------------------------
PORT DAEE-DAEF - ATI Mach8/Mach32 - SCISSORS REGION (LEFT)
SeeAlso: PORT 8EE8h,PORT DEEEh"SCISSORS",PORT E2EEh"SCISSORS"
SeeAlso: PORT E6EEh"SCISSORS"
DAEEw -W left edge of "scissors" drawing area (bits 11-0)
--------V-PDEEEDEEF--------------------------
PORT DEEE-DEEF - ATI Mach8/Mach32 - SCISSORS REGION (TOP)
SeeAlso: PORT DAEEh"SCISSORS",PORT E2EEh"SCISSORS",PORT E6EEh"SCISSORS"
DEEEw -W top edge of "scissors" drawing area (bits 11-0)
----------PE2E0E2EF--------------------------
PORT E2E0-E2EF - GPIB (General Purpose Interface Bus, IEEE 488 interface)
E2E1 RW GPIB (adapter 7)
--------V-PE2E8E2E9--------------------------
PORT E2E8-E2E9 - 8514/A and compatible - PIXEL DATA TRANSFER
Desc: all graphics data to be processed by the Graphics Engine is sent
through this port
Notes: supported by ATI Graphics Ultra
supported by S3 chipsets when PORT 03D4h register 40h bit 0 is set
E2E8w -W drawing control: pixel data transfer
E2EAw rW drawing control: pixel data transfer (S3 801+) for 32-bit transfers
--------V-PE2EEE2EF--------------------------
PORT E2EE-E2EF - ATI Mach8/Mach32 - SCISSORS REGION (BOTTOM)
SeeAlso: PORT DAEEh"SCISSORS",PORT DEEEh"SCISSORS",PORT E6EEh"SCISSORS"
E2EEw -W bottom edge of "scissors" drawing area (bits 11-0)
--------V-PE6EEE6EF--------------------------
PORT E6EE-E6EF - ATI Mach8/Mach32 - SCISSORS REGION (RIGHT)
SeeAlso: PORT DAEEh"SCISSORS",PORT DEEEh"SCISSORS",PORT E2EEh"SCISSORS"
E6EEw -W right edge of "scissors" drawing area (bits 11-0)
--------V-PEAE8EAEB--------------------------
PORT EAE8-EAEB - S3 Trio64 - PATTERN
Desc: define the position of the top-left corner of an 8x8 pixel pattern
stored in off-screen memory which is to be used for patterned fill
commands (trapezoid, polygon, etc.)
EAE8w RW pattern Y coordinate (bits 11-0)
EAEAw RW pattern X coordinate (bits 11-0)
--------V-PFAEE------------------------------
PORT FAEE - ATI Mach32 - CHIP IDENTIFICATION REGISTER
SeeAlso: PORT 56EEh"Mach32",PORT 5EEEh"Mach32"
--------V-PFEEEFEEF--------------------------
PORT FEEE-FEEF - ATI Mach8/Mach32 - DIRECT LINE DRAW REGISTER
SeeAlso: PORT 9AEEh
FEEEw -W direct line-draw register
--------d-Pxxxx------------------------------
PORT xxxx - Future Domain TMC-3260 PCI SCSI adapter
Range: anywhere on 8 byte boundary???
Note: Future Domain TMC-3260 PCI SCSI adapter is based upon Future Domain
TMC-36C70 SCSI controller which is a PCI version of the TMC-18C30
ISA SCSI controller
SeeAlso: PORT 0140h-014Fh"Future Domain TMC-16x0"
--------d-Pxxxx------------------------------
PORT xxxx - AMD Am53C974A PC-SCSI II SCSI adapter
Range: anywhere, on a 128-port boundary
SeeAlso: #00925
+000 R- current transfer count register (low)
+000 -W start transfer count register (low)
+004 R- current transfer count register (middle)
+004 -W start transfer count register (middle)
+008 RW SCSI FIFO register
+00C RW SCSI command register
+010 R- SCSI status register
+010 -W destination ID
+014 R- interrupt status
+014 -W SCSI timeout
+018 R- internal state
+018 -W synchronous transfer period
+01C R- current FIFO/internal state
+01C -W synchronous offset
+020 RW control register 1
+024 -W clock factor
+028 -W reserved
+02C RW control register 2
+030 RW control register 3
+034 RW control register 4
+038 R- current transfer count register (high) / ID code
+038 -W start current transfer count (high)
+03C reserved
+040 RW DMA command
+044d RW DMA starting transfer count (bits 23-0)
+048d RW DMA starting physical address
+04C R DMA working byte counter
+050d R DMA working address counter
+054 R DMA status register
+058d RW DMA starting memory descriptor list address
+05Cd R DMA working memory descriptor list counter
+070d Rw SCSI bus and control (bits 25-24 and 21-0)
Notes: the SCSI registers are mapped on DWORD boundaries, even though for most
only the least-significant byte is used
see "Am53C974A PCscsi(tm) II Technical Manual, Revision 1.0"
(file 19113A.PDF) for further details, as well as (file 19084A.PDF)
--------d-Pxxxx------------------------------
PORT xxxx - Adaptec AHA-2920 PCI SCSI adapter
Range: anywhere on 8 byte boundary???
Note: Adaptec AHA-2920 PCI SCSI adapter is based upon Future Domain TMC-36C70
SCSI controller which is a PCI version of Future Domain TMC-18C30 ISA
SCSI controller
SeeAlso: PORT 0140h-014Fh"Future Domain TMC-16x0"
--------d-Pxxxx------------------------------
PORT xxxx - Adaptec AIC-78xx PCI SCSI controller
Range: anywhere on 256-byte boundary
Note: Adaptec AIC-78xx SCSI controllers are basically compatible with the
AIC-777x SCSI controllers
SeeAlso: PORT 0340h-035Fh"Adaptec AHA-152x",PORT 1C00h-1CBFh"Adaptec AIC-777x"
+000 RW SCSI sequence control register (SCSISEQ) (see #P0600)
+001 RW SCSI transfer control register 0 (SXFRCTL0) (see #P0979)
+002 RW SCSI transfer control register 1 (SXFRCTL1) (see #P0980)
+003 R- SCSI control signal read register (SCSISIGI) (see #P0603)
+003 -W SCSI control signal write register (SCSISIGO) (see #P0604)
+004 RW SCSI rate control register (SCSIRATE) (see #P0981)
+005 RW SCSI ID register (SCSIID) (see #P0982)
+006 RW SCSI latched data low register (SCSIDATL)
read/write causes -ACK to pulse
+007 RW (Wide SCSI) SCSI latched data high register (SCSIDATH)
read/write causes -ACK to pulse
+008 RW SCSI transfer count register (STCNT) (3 bytes long)
+00B R- SCSI status register 0 (SSTAT0) (see #P0607)
+00B -W clear SCSI interrupt register 0 (CLRSINT0) (see #P0983)
+00C R- SCSI status register 1 (SSTAT1) (see #P0609)
+00C -W clear SCSI interrupt register 1 (CLRSINT1) (see #P0610)
+00D R- SCSI status register 2 (SSTAT2) (see #P0984)
+00E R- SCSI status register 3 (SSTAT3) (see #P0612)
+00F RW SCSI test control register (SCSITEST) (see #P0985)
+010 RW SCSI interrupt mode register 0 (SIMODE0) (see #P0616)
+011 RW SCSI interrupt mode register 1 (SIMODE1) (see #P0617)
+012 RW SCSI data bus low register (SCSIBUSL)
+013 RW (Wide SCSI) SCSI data bus high register (SCSIBUSH)
+014d R- SCSI/host address register (SHADDR)
+018 RW selection timeout timer register (SELTIMER) (see #P0986)
+019 RW selection/reselection ID register (SELID) (see #P0987)
+01D ?? (AIC-7870) board control register (BRDCTL) (see #P1051)
+01E RW (AIC-787x/788x) serial EEPROM control register (SEECTL) (see #P1052)
+01F RW SCSI block control register (SBLKCTL) (see #P1053)
+020 RW scratch RAM (64 bytes) (see #P1002)
+060 RW sequencer control register (SEQCTL) (see #P0989)
+061 RW sequencer RAM data register (SEQRAM)
+062w RW sequencer address register (SEQADDR) (see #P0990)
+064 RW accumulator register (ACCUM)
+065 RW source index register (SINDEX)
+066 RW destination index register (DINDEX)
+069 R- all ones register (ALLONES)
always reads as FFh
+06A R- all zeros register (ALLZEROS)
always reads as 00h
+06B R- flags register (FLAGS) (see #P0991)
PhaseEngine processor's flags
+06C R- source indirect register (SINDIR)
+06D -W destination indirect register (DINDIR)
+06E RW function 1 register (FUNCTION1)
+06F R- "STACK"
+084 RW DSCommand register (DSCOMMAND) (see #P1054)
+085 RW bus on/off time register (BUSTIME) (see #P0993)
+086 RW (AIC-7870) "DSPCISTATUS"
+087 RW host control register (HCNTRL) (see #P0995)
+088d RW host address register (HADDR)
+08C RW host counter register (HCNT) (3 bytes long)
+090 RW sequence control block (SCB) pointer register (SCBPTR)
+091 RW interrupt status register (INTSTAT) (see #P0996)
+092 R- hard error register (ERROR) (see #P0997)
+092 -W clear interrupt status register (CLRINT) (see #P0998)
+093 RW DMA FIFO control register (DFCNTRL) (see #P0999)
+094 R- DMA FIFO status register (DFSTATUS) (see #P1000)
+099 RW DMA FIFO data register (DFDAT)
+09A RW SCB auto-increment register (SCBCNT) (see #P1001)
+09B RW queue in FIFO register (QINFIFO)
write places the value into the FIFO, read removes
+09C R- queue in count register (QINCNT)
number of the SCBs in the queue in
+09D -W queue out FIFO register (QOUTFIFO)
read removes the value from the FIFO
+09E R- queue out count register (QOUTCNT)
number of the SCBs in the queue out
+0A0 RW SCB array (32 bytes) (see #P1003)
Note: AIC-7850 SCSI controllers sporatically get garbage in the MSBs of the
queue in/out count registers (QINCNT/QOUTCNT)
Bitfields for AIC-7870 board control register (BRDCTL):
Bit(s) Description (Table P1051)
7 "BRDDAT7"
(read) (ROM bank 0) internal 68-pin connector (INT68)
=0 present
=1 absent
(read) (ROM bank 1) EPROM present (EPROMPS)
6 "BRDDAT6"
(read) (ROM bank 0) internal 50-pin connector (INT50)
(read) (ROM bank 1) external 68-pin connector (EXT68)
=0 present
=1 absent
(write) wide termination enable
5 (write) "BRDDAT5"
ROM bank setting
=0 select bank 0
=1 select bank 1
4 strobe (BRDSTB)
3 chip select (BRDCS)
2 "BRDRW"
=0 write
=1 read
1 "BRDCTL1"
0 "BRDCTL0"
Notes: accessing this register requires prior setting of bits 3 and 5 of the
serial EEPROM control register (SEECTL)
bit 3 must be set to read/write bits 7-5, and reset afterwards
bit 4 must be set along with bit 3 for writes, then value must be set
into the bits 7-5, and then bit 4 must be reset
to read from bits 7-6 first perform a write operation of bit 5 in order
to select the ROM bank 0, then bit 2 must be set along with bit 3,
and then the data can be read
SeeAlso: #P1052
Bitfields for AIC-787x/788x serial EEPROM control register (SEECTL):
Bit(s) Description (Table P1052)
7 "EXTARBACK"
6 "EXTARBREQ"
5 serial EEPROM memory port select? (SEEMS)
4 serial EEPROM ready (SEERDY)
3 serial EEPROM chip select (SEECS)
2 serial EEPROM clock (SEECK)
1 serial EEPROM data out (SEEDO)
0 serial EEPROM data in (SEEDI)
Notes: AIC-7873/7883 use 93C56/93C66 serial EEPROM chips, others use 93C46;
93C46 serial EEPROM chips have 1024 bits organized into 64 16-bit
words and use 6 bits to address each word, while 93C56/93C66 chips
have 2048 bits organized into 128 16-bit words and use 8 bits to
address each word
only the first 32 words of serial EEPROM are used by the Adaptec BIOS
bits 3-0 are connected to the chip select, clock, data out, and data in
pins of the serial EEPROM respectively
data in pin of the serial EEPROM can be read through the bit 0 of this
register after the clock pin goes from high to low
bit 2 must be pulled high and then low for a minimum of 750 and 250 ns
to provide clocking for the EEPROM chip
bit 2 going from low to high causes the EEPROM chip to sample the data
out pin and initiates the next bit to be sent through the data in pin
bit 3 must be set for a minimum of 1 mcs with the bit 2 goig high and
then low for the EEPROM chip to be selected; then the instruction can
be sent to the EEPROM chip
instruction can be terminated by taking the EEPROM chip select pin low,
with the bit 2 going high and low
bit 5 requests access to the memory port; when access is granted, bit 4
will be set; during the EEPROM access bit 4 is cleared after writing
this register and goes high 800 ns later
SeeAlso: #P1007,#P1051,#P1055,#P1056
Bitfields for SCSI block control register (SBLKCTL):
Bit(s) Description (Table P1053)
7 diagnostic LED enable (DIAGLEDEN)
6 diagnostic LED on (DIAGLEDON)
5 auto flush disable (AUTOFLUSHDIS)
4 reserved
3 select bus (SELBUS)
=0 select bus A
=1 select bus B (SELBUSB)
2 reserved
1 "SELWIDE"
0 reserved
Note: clearing bits 7-6 will take the card out of diagnostic mode and make
the host adapter LED follow bus activity
SeeAlso: #P0988
Bitfields for DSCommand register (DSCOMMAND):
Bit(s) Description (Table P1054)
7 cache threshold enable (CACHETHEN)
6 data parity check enable (DPARCKEN)
5 memory parity check enable (MPARCKEN)
4 external request lock (EXTREQLCK)
3-0 reserved
(Table P1055)
Values for the 93C56/93C66 serial EEPROM instructions:
Opcode Function Parameter Description
0000xxxxxxb EWDS - disable all programming instructions
0001xxxxxxb WRAL D15..D0 write to all registers
0010xxxxxxb ERAL - erase all registers
0011xxxxxxb EWEN - write enable
must precede all programming modes
01AAAAAAAAb WRITE D15..D0 write register with address A7..A0
10AAAAAAAAb READ - read registers starting with address A7..A0
11AAAAAAAAb ERASE - erase register with address A7..A0
SeeAlso: #P1007,#P1052
Format of the serial EEPROM:
Address Size Description (Table P1056)
00h 16 WORDs SCSI ID configuration (see #P1009)
10h WORD BIOS control (see #P1057)
11h WORD host adapter control (see #P1058)
12h WORD bus release time / host adapter ID (see #P1013)
13h WORD maximum targets (see #P1014)
14h 11 WORDs reserved
1Fh WORD checksum
SeeAlso: #P1052
Bitfields for the serial EEPROM BIOS control word:
Bit(s) Description (Table P1057)
15-8 reserved
7 extended translation enabled (CFEXTEND)
6-5 reserved
4 support more than 2 drives (CFSM2DRV)
3 reserved
2 BIOS enabled (CFBIOSEN)
1 support removable drives for boot only (CFSUPREMB)
0 support all removable drives (CFSUPREM)
SeeAlso: #P1056
Bitfields for the serial EEPROM host adapter control word:
Bit(s) Description (Table P1058)
15-7 reserved
6 reset SCSI bus at IC initialization (CFRESETB)
5 reserved
4 SCSI parity (CFSPARITY)
3 SCSI high byte termination (CFWSTERM)
2 SCSI low byte termination (CFSTERM)
1 (Ultra SCSI) Ultra SCSI speed enable (CFULTRAEN)
0 reserved
SeeAlso: #P0600,#P0979,#P0980,#P0994,#P1056
--------p-Pxxxx------------------------------
PORT xxxx - AMD-645 - Power Management Registers
Range: on any 256-byte boundary
SeeAlso: #01049
+000w RC power management status (see #P1059)
+002w RW power management enable (see #P1060)
+004w RW power management control (see #P1061)
+006 unused???
+008d RW power management timer (24 or 32 bits)
+00C unused???
+010d RW processor power management control (see #P1062)
+014 R- "P_LVL2" processor level 2 -- reading switches to C2 power state
+015 R- "P_LVL3" processor level 3 -- reading switches to C3 power state
+016 unused???
+020w RC general purpose status (see #P1063)
+022w RW general purpose SCI enable (see #P1064)
+024w RW general purpose SMI enable (see #P1065)
+026w RW power supply control (see #P1066)
+028w RC global power management status (see #P1067)
+02Aw RW global power management enable (see #P1068)
+02Cw RW global power management control (see #P1069)
+02E unused???
+02F RW SMI command
writing this port sets the SW_SMI_STS bit (see #P1067,#P1068)
+030d RC primary activity detection status (see #P1070)
+034d RW primary activity detection enable (see #P1071)
+038d RW general purpose timer reload enable (see #P1072)
+03C unused???
+040 RW control of general-purpose I/O direction (see #P1073)
+041 ???
+042 RW output value for GPIO port (see #P1074)
+043 RW ???
+044 RW input value for GPIO port (see #P1075)
+045 RW ???
+046w RW output value for general-purpose output port
+048w RW input value for general-purpose input port
Bitfields for AMD-645 Power Management Control Status:
Bit(s) Description (Table P1059)
15 wakeup request -- system will transition from suspend to normal working
14-12 reserved (0)
11 power button override (set when PWRBTN# asserted for more than 4 sec)
system will transition into "soft off" power state
10 RTC alarm occurred
9 reserved (0)
8 "PB_STS" power button -- PWRBTN# asserted (but for less than 4 sec)
7-6 reserved (0)
5 "GBL_STS" Global Status
set by hardware when "BIOS_RLS" set; "BIOS_RLS" cleared by hardware
when this bit cleared
4 system bus requested by any bus master
3-1 reserved (0)
0 ACPI timer carried into highest bit
Note: all bits are write-clear: write a 1 bit to acknowledge the
status and clear that bit
SeeAlso: #P1060,MEM xxxxh:xxx0h"ACPI"
Bitfields for AMD-645 Power Management Enable register:
Bit(s) Description (Table P1060)
15-11 reserved (0)
10 enable SCI/SMI on RTC alarm
9 reserved (0)
8 enable SCI/SMI when PB_STS set (see #P1059 bit 8)
7-6 reserved
5 enable SCI/SMI when GBL_STS set (see #P1059 bit 5)
4-1 reserved
0 enable SCI/SMI when ACPI timer carries
SeeAlso: #P1059,#P1061,MEM xxxxh:xxx0h"ACPI"
Bitfields for AMD-645 Power Management Control register:
Bit(s) Description (Table P1061)
15-14 reserved (0)
13 (write) force transition into sleep state (bits 12-10) when set
(read) always 0
12-10 sleep type
000 "soft off" (suspend-to-disk)
010 power-on suspend
0x1 reserved
1xx reserved
9-3 reserved
2 "GLB_RLS" release SCI/SMI lock
when set, BIOS_STS bit set by hardware; when BIOS_STS cleared,
hardware clears this bit
1 enable transition from suspend to normal working state on bus master
request
0 power management event interrupt type
0 generate SMI
1 generate SCI
SeeAlso: #P1059,#P1060
Bitfields for AMD-645 Processor Power Management Control register:
Bit(s) Description (Table P1062)
31-5 reserved (0)
4 enable clock throttling
0 = suspend processor on reading P_LVL2 port at offset 14h
1 = throttle clock by modulating STPCLK# on reading P_LVL2
3-1 throttling duty cycle (proportion of time STPCLK# is asserted)
000 reserved
001 0 - 1/8
010 1/8 - 2/8
...
111 6/8 - 7/8
0 reserved (0)
SeeAlso: #P1061,#P1062
Bitfields for AMD-645 General Purpose Status register:
Bit(s) Description (Table P1063)
15-10 reserved (0)
9 "USB_STS" USB peripheral generated resume event
8 "RI_STS" ring detected (RI# asserted)
7 "EXT7_STS" EXTSMI7# pin toggled
6-0 "EXT?_STS" EXTSMI6# - EXTSMI0# pins toggled
SeeAlso: #P1061,#P1064
Bitfields for AMD-645 General Purpose SCI Enable register:
Bit(s) Description (Table P1064)
15-10 reserved (0)
9 enable SCI when USB_STS bit becomes set
8 enable SCI when RI_STS bit becomes set
7-0 enable SCI when EXT?_STS bit becomes set
SeeAlso: #P1063,#P1065
Bitfields for AMD-645 General Purpose SMI Enable register:
Bit(s) Description (Table P1065)
15-10 reserved (0)
9 enable SMI when USB_STS bit becomes set
8 enable SMI when RI_STS bit becomes set
7-0 enable SMI when EXT?_STS bit becomes set
SeeAlso: #P1063,#P1064,#P1066
Bitfields for AMD-645 Power Supply Control register:
Bit(s) Description (Table P1066)
15-11 reserved (0)
10 enable setting of RI_STS bit to turn on power
9 set PB_STS bit to resume from suspend
8 set RTC_STS bit to resume from suspend on RTC alarm
7-1 reserved (0)
0 enable setting of EXT0_STS bit to resume from suspend
SeeAlso: #P1063,#P1067,#P1068
Bitfields for AMD-645 PM Global Status register:
Bit(s) Description (Table P1067)
15-7 reserved (0)
6 "SW_SMI_STS" SMI_CMD port has been written
5 "BIOS_STS" set whenever GLB_RLS bit is set; GLB_RLS is cleared when
this bit is cleared
4 legacy USB event occurred
3 GP1 timer timed out
2 GP0 timer timed out
1 secondary event timer timed out
0 "PACT_STS" an enabled primary system activity has occurred (see #P1071)
Note: this register is write-clear: writing a 1 to a bit clears that bit
SeeAlso: #P1066
Bitfields for AMD-645 PM Global Enable register:
Bit(s) Description (Table P1068)
15-7 reserved (0)
6 enable SMI when SMI_CMD port is written
5 enable SMI when BIOS_STS bit set (see #P1067)
4 enable SMI on legacy USB events
3 enable SMI when GP1 timer times out
2 enable SMI when GP0 timer times out
1 enable SMI when secondary event timer times out
0 enable SMI on occurrence of any primary activity
SeeAlso: #P1066,#P1067,#P1069
Bitfields for AMD-645 PM Global Control ("GLB_CTL") register:
Bit(s) Description (Table P1069)
15-9 reserved
8 SMI is active
7-5 reserved
4 SMI lock enabled (write-clear)
(must be cleared before bit 8 can be cleared and the next SMI allowed)
3 reserved
2 type of power button triggering
0 generate SCI/SMI on PWRBTN# asserted
1 generate SCI/SMI when PWRBTN# becomes deasserted
(must be clear to comply with ACPI v0.9, but setting it avoids the
situation where holding the power button for four seconds first wakes
the system and then puts it into the soft-off state)
1 "BIOS_RLS" used by legacy software to release the SCI/SMI lock; when
set, the GBL_STS bit is set by hardware; when GBL_STS is cleared,
this bit is cleared by hardware
0 enable SMI generation
SeeAlso: #P1066,#P1067,#P1068,MEM xxxxh:xxx0h"ACPI"
Bitfields for AMD-645 PM Primary Activity Detect Status register:
Bit(s) Description (Table P1070)
31-8 reserved (0)
7 keyboard controller accessed via PORT 0060h
6 serial port accessed (via PORT 03F8h-03FFh, 02F8h-02FFh, 03E8h-03EFh,
or PORT 02E8h-02EFh)
5 parallel port accessed (via PORT 0278h-027Fh or PORT 0378h-037Fh)
4 video controller accessed
3 IDE or Floppy controller accessed
2 reserved (0)
1 a primary interrupt occurred (see #01049 [offset 44h])
0 ISA busmaster or DMA activity occurred
Note: this register is write-clear: write a 1 to a bit to clear it
SeeAlso: #P1071,#P1069
Bitfields for AMD-645 PM Primary Activity Detect Enable register:
Bit(s) Description (Table P1071)
31-8 reserved (0)
---set PACT_STS (see #P1067) whenever:
7 keyboard controller is accessed via PORT 0060h
6 serial port is accessed (via PORT 03F8h-03FFh, 02F8h-02FFh,
PORT 03E8h-03EFh, or PORT 02E8h-02EFh)
5 parallel port is accessed (via PORT 0278h-027Fh or PORT 0378h-037Fh)
4 video controller is accessed
3 IDE or Floppy controller is accessed
2 reserved (0)
1 a primary interrupt occurrs (see #01049 [offset 44h])
0 ISA busmaster or DMA activity occurrs
SeeAlso: #P1070,#P1069
Bitfields for AMD-645 GP Timer Reload Enable register:
Bit(s) Description (Table P1072)
31-8 reserved (0)
7 reload GP1 whenever keyboard controller is accessed
6 reload GP1 whenever a serial port is accessed
5 reserved (0)
4 reload GP1 whenever video controller is accessed
3 reload GP1 whenever IDE or floppy controller is accessed
2-1 reserved (0)
0 reload GP0 whenever a primary activity is detected
SeeAlso: #P1071,#P1070
Bitfields for AMD-645 GPIO Direction Control register:
Bit(s) Description (Table P1073)
7-5 reserved (0)
4 direction of GPIO4 (0 = input, 1 = output)
this bit sets Pin136, which is always output if configured as GPO_WE#
3 direction of GPIO3 (0 = input, 1 = output)
this bit sets Pin92, which is always an output if configured as GPI_RE#
2 direction of GPIO2/I2CD1 (0 = input, 1 = output)
1 direction of GPIO1/I2CD2 (0 = input, 1 = output)
0 direction of GPIO0 (0 = input, 1 = output)
SeeAlso: #P1071,#P1074
Bitfields for AMD-645 GPIO Port Output Value register:
Bit(s) Description (Table P1074)
7-5 reserved
4 value for GPIO4 pin (ignored if pin configured as GPO_WE#)
3 value for GPIO3 pin (ignored if pin configured as GPI_RE#)
2 value for GPIO2/I2CD1 pin
1 value for GPIO1/I2CD2 pin
0 value for GPIO0 pin
Note: while these bits can be read back, they only indicate the values which
are driven onto the pins if configured for output; to read the actual
input values, use the "input value" register at offset 44h
(see #P1075)
SeeAlso: #P1075
Bitfields for GPIO Port Input Value (EXTSMI_VAL) register:
Bit(s) Description (Table P1075)
7 (if GPIO3 set to input) current EXTSMI7# on XD7 (Pin122)
6 (if GPIO3 set to input) current EXTSMI6# on XD6 (Pin121)
5 (if GPIO3 set to input) current EXTSMI5# on XD5 (Pin119)
4 (if GPIO4 set to input) current EXTSMI4# on XD4 (Pin118)
(if GPIO4 set to output) current EXTSMI4# on GPIO4 (Pin136)
3 (if GPIO3 set to input) current EXTSMI3# on XD3 (Pin117)
(if GPIO3 set to output) current EXTSMI3# on GPIO3 (Pin92)
2 GPIO2 input value
1 GPIO1 input value
0 GPIO0 input value
SeeAlso: #P1074
--------X-Pxxxx------------------------------
PORT xxxx - AMD-645 - USB
SeeAlso: #01046 at INT 1A/AX=B10Ah/SF=1106h
Note: further details are supposedly in the UHCI v1.1 standard
+000w ?W USB command
+002w R? USB status
+004w ?W USB interrupt enable
+006w ?? frame number
+008d ?? frame list base address
+00C ?? Start of Frame Modify
+00D unused???
+010w RW Port 1 Status/Control
+012w RW Port 2 Status/Control
----------Pxxxx------------------------------
PORT xxxx - Ensoniq AudioPCI ES1370 - CONTROL REGISTERS
Range: anywhere on 64 byte boundary
+000d RW interrupt/chip select control register (see #P1076)
+004d R- interrupt/chip select status register (see #P1077)
+008 RW UART data register (MIDI data)
+009 -W UART control register (see #P1078)
+009 R- UART status register (see #P1079)
+00A RW UART reserved register (see #P1080)
+00Cd RW memory page register (see #P1081)
+010d -W CODEC write register (see #P1082)
+020d RW serial interface control register (see #P1083)
+024d RW DAC1 channel sample count register (see #P1084)
+028d RW DAC2 channel sample count register (see #P1084)
+02Cd RW ADC channel sample count register (see #P1084)
+030d RW internal memory 1 (see #P1085)
+034d RW internal memory 2 (see #P1086)
+038d RW internal memory 3 (see #P1087)
+03Cd RW internal memory 4 (see #P1088)
Bitfields for Ensoniq ES1370/ES1371 interrupt/chip select control register:
Bit(s) Description (Table P1076)
---AudioPCI ES1370---
31 record buffer transfer disable (ADC stop)
30 (bit 0 = 0) general purpose output
(bit 0 = 1) external IRQ output
29 reserved
28-16 programmable clock divide ratio (DAC2)
---AudioPCI-97 ES1371---
31-26 reserved
25-24 joystick base I/O address
00 = 200h
01 = 208h
10 = 210h
11 = 218h
23-20 GPIO pin 3-0 (read-only)
19-16 GPIO pin 3-0 output
------
15 MPEG data format
0 = Sony (lrclk high = left channel; data left justified)
1 = I2S (lrclk low = left channel; data 1 bit clock delayed)
---AudioPCI ES1370---
14 CODEC DAC (DAC2) source
0 = programmable clock generator
1 = MPEG clocks
13-12 fixed frequency clock generator frequency (DAC1)
00 = 5.512 KHz
01 = 11.025 KHz
10 = 22.05 KHz
11 = 44.1 KHz
11 CODEC DACs synchronous with fixed frequency clock generator
---AudioPCI-97 ES1371---
14 AC97 warm reset
13 CCB record transfer disable
12 power management level change interrupt enable
11 record channel source
0 = CODEC ADC
1 = I2S
------
10 CCB voice interrupts enable
---AudioPCI ES1370---
9 record channel source in serial module
0 = CODEC ADC
1 = MPEG
8 general purpose output
---AudioPCI-97 ES1371---
9-8 current power down level
00-11 = D0-D3
------
7 memory bus request enable (disables memory access) (test purposes only)
6 DAC1 (CODEC FM DAC) playback channel enable
5 DAC2 (CODEC DAC) playback channel enable
4 CODEC ADC record channel enable
3 UART enable
2 joystick enable
---AudioPCI ES1370---
1 CODEC interface enable
0 PCI serr signal disable
---AudioPCI-97 ES1371---
1 crystal clock input disable
0 PCI clock input disable
------
Note: this register is addressable as byte, word and dword
Bitfields for Ensoniq ES1370/ES1371 interrupt/chip select status register:
Bit(s) Description (Table P1077)
---AudioPCI ES1370---
31 DAC1, DAC2, ADC, UART or CCB interrupt occurred
30-11 reserved
10 CODEC busy or register write in progress
9 CODEC busy
8 CODEC register write in progress
7 reserved
6-5 CCB voice code (if bit 4 = 1)
00 = DAC1
01 = DAC2
10 = ADC
11 = reserved
---AudioPCI-97 ES1371---
31 DAC1, DAC2, ADC, UART, CCB or power management interrupt occurred
30-9 reserved
8 CODEC synchronization error
7-6 CCB voice code (if bit 4 = 1)
00 = DAC1
01 = DAC2
10 = ADC
11 = reserved
5 power level interrupt status
------
4 CCB interrupt status
3 UART interrupt status
2 DAC1 playback channel interrupt status
1 DAC2 playback channel interrupt status
0 ADC record channel interrupt status
Bitfields for Ensoniq ES1370/ES1371 UART control register:
Bit(s) Description (Table P1078)
7 UART receiver interrupt enable
6-5 UART transmitter operation
01 = Txrdy interrupts enabled
4-2 reserved
1-0 UART control
11 = software reset
Bitfields for Ensoniq ES1370/ES1371 UART status register:
Bit(s) Description (Table P1079)
7 UART receiver interrupt status
6-3 reserved
2 UART transmitter interrupt status
1 UART transmitter ready
0 UART receiver ready
Bitfields for Ensoniq ES1370/ES1371 UART reserved register:
Bit(s) Description (Table P1080)
7-1 reserved
0 UART test mode enable (UART clock switched to PCI bus clock)
Bitfields for Ensoniq ES1370/ES1371 memory page register:
Bit(s) Description (Table P1081)
31-4 reserved
3-0 memory page select (accessed in registers 30h-3Fh)
0000 = DAC1 sample bytes 15-0 (lower half buffer)
0001 = DAC1 sample bytes 31-16
0010 = DAC1 sample bytes 47-32 (upper half buffer)
0011 = DAC1 sample bytes 63-48
0100 = DAC2 sample bytes 15-0 (lower half buffer)
0101 = DAC2 sample bytes 31-16
0110 = DAC2 sample bytes 47-32 (upper half buffer)
0111 = DAC2 sample bytes 63-48
1000 = ADC sample bytes 15-0 (lower half buffer)
1001 = ADC sample bytes 31-16
1010 = ADC sample bytes 47-32 (upper half buffer)
1011 = ADC sample bytes 63-48
1100 = DAC1/DAC2 frame information
1101 = ADC frame information
1110 = UART FIFO
1111 = UART FIFO
Note: this register is addressable as byte, word and dword
Bitfields for Ensoniq ES1370/ES1371 CODEC write register:
Bit(s) Description (Table P1082)
---AudioPCI ES1370---
31-16 reserved
15-8 CODEC register index
---AudioPCI-97 ES1371---
31-24 reserved
23 AC97 CODEC read/write
0 = write
1 = read
22-16 AC97 CODEC register index
------
7-0 CODEC register data
---index 16h---
1 0 = CODEC power down
------
Note: (AudioPCI ES1370) this register is addressable as word and dword
Bitfields for Ensoniq ES1370/ES1371 serial interface control register:
Bit(s) Description (Table P1083)
31-22 reserved
22 (ES1371) DAC test mode enable (selects I2S lrclk input as source for
playback and record channels)
21-19 sample address counter loop binary offset
18-16 sample address counter channel start/restart binary offset
15 ADC channel action when sample count reaches zero
0 = loop (interrupt set, keep recording)
1 = stop (inteerupt set, stop recording)
14 DAC2 channel action when sample count reaches zero
0 = loop (interrupt set, keep playing)
1 = stop (inteerupt set, play last sample)
13 DAC1 channel action when sample count reaches zero (same values as
bit 14)
12 DAC2 channel playback pause
11 DAC1 channel playback pause
10 ADC interrupt enable
9 DAC2 interrupt enable
8 DAC1 interrupt enable
7 DAC1 sample counter reload
6 DAC2 sample counter reload
5-4 ADC channel data format
00 = 8-bit mono
01 = 8-bit stereo
10 = 16-bit mono
11 = 16-bit stereo
3-2 DAC2 channel data format (same values as bits 5-4)
1-0 DAC1 channel data format (same values as bits 5-4)
Note: this register is addressable as byte, word and dword
Bitfields for Ensoniq ES1370/ES1371 DAC1/2/ADC channel sample count register:
Bit(s) Description (Table P1084)
31-16 sample counter current value (read-only)
15-0 sample counter (samples - 1)
Note: these registers are addressable as word and dword
Bitfields for Ensoniq ES1370/ES1371 internal memory 1:
Bit(s) Description (Table P1085)
---register +00Ch bits 3-0 = 0000---
31-0 DAC1 sample bytes 3-0
---register +00Ch bits 3-0 = 0001---
31-0 DAC1 sample bytes 19-16
---register +00Ch bits 3-0 = 0010---
31-0 DAC1 sample bytes 35-32
---register +00Ch bits 3-0 = 0011---
31-0 DAC1 sample bytes 51-48
---register +00Ch bits 3-0 = 0100---
31-0 DAC2 sample bytes 3-0
---register +00Ch bits 3-0 = 0101---
31-0 DAC2 sample bytes 19-16
---register +00Ch bits 3-0 = 0110---
31-0 DAC2 sample bytes 35-32
---register +00Ch bits 3-0 = 0111---
31-0 DAC2 sample bytes 51-48
---register +00Ch bits 3-0 = 1000---
31-0 ADC sample bytes 3-0
---register +00Ch bits 3-0 = 1001---
31-0 ADC sample bytes 19-16
---register +00Ch bits 3-0 = 1010---
31-0 ADC sample bytes 35-32
---register +00Ch bits 3-0 = 1011---
31-0 ADC sample bytes 51-48
---register +00Ch bits 3-0 = 1100---
31-0 DAC1 sample buffer memory address
---register +00Ch bits 3-0 = 1101---
31-0 ADC sample buffer memory address
---register +00Ch bits 3-0 = 1110---
31-9 reserved
8 UART data valid
7-0 UART data received through MIDI interface
---register +00Ch bits 3-0 = 1111---
31-9 reserved
8 UART data valid
7-0 UART data received through MIDI interface
------
SeeAlso: #P1086
Bitfields for Ensoniq ES1370/ES1371 internal memory 2:
Bit(s) Description (Table P1086)
---register +00Ch bits 3-0 = 0000---
31-0 DAC1 sample bytes 7-4
---register +00Ch bits 3-0 = 0001---
31-0 DAC1 sample bytes 23-20
---register +00Ch bits 3-0 = 0010---
31-0 DAC1 sample bytes 39-36
---register +00Ch bits 3-0 = 0011---
31-0 DAC1 sample bytes 55-52
---register +00Ch bits 3-0 = 0100---
31-0 DAC2 sample bytes 7-4
---register +00Ch bits 3-0 = 0101---
31-0 DAC2 sample bytes 23-20
---register +00Ch bits 3-0 = 0110---
31-0 DAC2 sample bytes 39-36
---register +00Ch bits 3-0 = 0111---
31-0 DAC2 sample bytes 55-52
---register +00Ch bits 3-0 = 1000---
31-0 ADC sample bytes 7-4
---register +00Ch bits 3-0 = 1001---
31-0 ADC sample bytes 23-20
---register +00Ch bits 3-0 = 1010---
31-0 ADC sample bytes 39-36
---register +00Ch bits 3-0 = 1011---
31-0 ADC sample bytes 55-52
---register +00Ch bits 3-0 = 1100---
31-16 DAC1 dwords transferred
15-0 DAC1 dwords in buffer - 1
---register +00Ch bits 3-0 = 1101---
31-16 ADC dwords transferred
15-0 ADC dwords in buffer - 1
---register +00Ch bits 3-0 = 1110---
31-9 reserved
8 UART data valid
7-0 UART data received through MIDI interface
---register +00Ch bits 3-0 = 1111---
31-9 reserved
8 UART data valid
7-0 UART data received through MIDI interface
------
SeeAlso: #P1085,#P1087
Bitfields for Ensoniq ES1370/ES1371 internal memory 3:
Bit(s) Description (Table P1087)
---register +00Ch bits 3-0 = 0000---
31-0 DAC1 sample bytes 11-8
---register +00Ch bits 3-0 = 0001---
31-0 DAC1 sample bytes 27-24
---register +00Ch bits 3-0 = 0010---
31-0 DAC1 sample bytes 43-40
---register +00Ch bits 3-0 = 0011---
31-0 DAC1 sample bytes 59-56
---register +00Ch bits 3-0 = 0100---
31-0 DAC2 sample bytes 11-8
---register +00Ch bits 3-0 = 0101---
31-0 DAC2 sample bytes 27-24
---register +00Ch bits 3-0 = 0110---
31-0 DAC2 sample bytes 43-40
---register +00Ch bits 3-0 = 0111---
31-0 DAC2 sample bytes 59-56
---register +00Ch bits 3-0 = 1000---
31-0 ADC sample bytes 11-8
---register +00Ch bits 3-0 = 1001---
31-0 ADC sample bytes 27-24
---register +00Ch bits 3-0 = 1010---
31-0 ADC sample bytes 43-40
---register +00Ch bits 3-0 = 1011---
31-0 ADC sample bytes 59-56
---register +00Ch bits 3-0 = 1100---
31-0 DAC2 sample buffer memory address
---register +00Ch bits 3-0 = 1101---
31-0 reserved
---register +00Ch bits 3-0 = 1110---
31-9 reserved
8 UART data valid
7-0 UART data received through MIDI interface
---register +00Ch bits 3-0 = 1111---
31-9 reserved
8 UART data valid
7-0 UART data received through MIDI interface
------
SeeAlso: #P1086,#P1088
Bitfields for Ensoniq ES1370/ES1371 internal memory 4:
Bit(s) Description (Table P1088)
---register +00Ch bits 3-0 = 0000---
31-0 DAC1 sample bytes 15-12
---register +00Ch bits 3-0 = 0001---
31-0 DAC1 sample bytes 31-28
---register +00Ch bits 3-0 = 0010---
31-0 DAC1 sample bytes 47-44
---register +00Ch bits 3-0 = 0011---
31-0 DAC1 sample bytes 63-60
---register +00Ch bits 3-0 = 0100---
31-0 DAC2 sample bytes 15-12
---register +00Ch bits 3-0 = 0101---
31-0 DAC2 sample bytes 31-28
---register +00Ch bits 3-0 = 0110---
31-0 DAC2 sample bytes 47-44
---register +00Ch bits 3-0 = 0111---
31-0 DAC2 sample bytes 63-60
---register +00Ch bits 3-0 = 1100---
31-16 DAC2 dwords transferred
15-0 DAC2 dwords in buffer - 1
---register +00Ch bits 3-0 = 1101---
31-0 reserved
---register +00Ch bits 3-0 = 1110---
31-9 reserved
8 UART data valid
7-0 UART data received through MIDI interface
---register +00Ch bits 3-0 = 1111---
31-9 reserved
8 UART data valid
7-0 UART data received through MIDI interface
------
SeeAlso: #P1087
----------Pxxxx------------------------------
PORT xxxx - Ensoniq AudioPCI-97 ES1371 - CONTROL REGISTERS
Range: anywhere on 64 byte boundary
+000d RW interrupt/chip select control register (see #P1076)
+004d R- interrupt/chip select status register (see #P1077)
+008 RW UART data register (MIDI data)
+009 -W UART control register (see #P1078)
+009 R- UART status register (see #P1079)
+00A RW UART reserved register (see #P1080)
+00Cd RW memory page register (see #P1081)
+010d RW sample rate converter interface register (see #P1089)
+014d -W CODEC write register (see #P1082)
+014d R- CODEC read register (see #P1090)
+018d RW legacy control/status register (see #P1091)
+020d RW serial interface control register (see #P1083)
+024d RW DAC1 channel sample count register (see #P1084)
+028d RW DAC2 channel sample count register (see #P1084)
+02Cd RW ADC channel sample count register (see #P1084)
+030d RW internal memory 1 (see #P1085)
+034d RW internal memory 2 (see #P1086)
+038d RW internal memory 3 (see #P1087)
+03Cd RW internal memory 4 (see #P1088)
Bitfields for Ensoniq AudioPCI-97 ES1371 sample rate converter interface:
Bit(s) Description (Table P1089)
31-25 sample rate converter RAM address
24 sample rate converter read/write control
23 sample rate converter busy (read-only)
22 sample rate converter disable
21 playback channel 1 accumulator update disable
20 playback channel 2 accumulator update disable
19 record channel accumulator update disable
18-16 reserved
15-0 sample rate converter RAM data
Bitfields for Ensoniq AudioPCI-97 ES1371 CODEC read register:
Bit(s) Description (Table P1090)
31 AC97 CODEC data ready
30 AC97 CODEC register access in progress
29-24 reserved
23 AC97 CODEC read/write
0 = write
1 = read
22-16 AC97 CODEC register index
7-0 AC97 CODEC register data
Bitfields for Ensoniq AudioPCI-97 ES1371 legacy control/status register:
Bit(s) Description (Table P1091)
31 joystick timing
0 = ISA
1 = fast
30 host interrupt blocking enable ???
29 Sound Blaster capture address range
0 = 220h-22Fh
1 = 240h-24Fh
28-27 SoundScape base register capture address range
00 = 320h-327h
01 = 330h-337h
10 = 340h-347h
11 = 350h-357h
26-25 CODEC capture address range
00 = 530h-537h
01 = reserved
10 = E80h-E87h
11 = F40h-F47h
24 force interrupt
23 slave DMA controller event capture enable (address range C0h-DFh)
22 slave interrupt controller event capture enable (address range A0h-A1h)
21 master DMA controller event capture enable (address range 0h-Fh)
20 master interrupt controller event capture enable (address range
20h-21h)
19 AdLib register event capture enable (address range 388h-38Bh)
18 Sound Blaster register event capture enable (address range selected by
bit 29)
17 CODEC event capture enable (address range selected by bits 26-25)
16 SoundScape base address register event capture enable (address range
selected by bits 28-27)
15-11 reserved
10-8 captured event (read-only)
000 = SoundScape base address
001 = CODEC
010 = Sound Blaster register
011 = AdLib register
100 = master interrupt controller
101 = master DMA controller
110 = slave interrupt controller
111 = slave DMA controller
7-3 captured event I/O address bits 4-0 (read-only)
2 captured event read/write (read-only)
0 = read
1 = write
1 reserved
0 interrupt flag (write to reset)
0 = interrupt occurred
0 = interrupt not occurred
Note: this register is addressable as byte, word and dword
--------d-Pxxxx------------------------------
PORT xxxx - Intel 82371, OPTi "Vendetta" (82C750) - Bus Master IDE Registers
+000 RW command register, primary channel (see #P1092)
+002 Rw status register, primary channel (see #P1093)
+004d RW IDE descriptor table pointer, primary channel (see #P1094)
+008 RW command register, secondary channel (see #P1092)
+00A Rw status register, secondary channel (see #P1093)
+00Cd RW IDE descriptor table pointer, secondary channel (see #P1094)
Bitfields for Intel 82371 Bus Master IDE command register:
Bit(s) Description (Table P1092)
7-4 reserved
3 bus master read/write control
=0 read
=1 write
2-1 reserved
0 start/stop bus master
=1 start
=0 stop
SeeAlso: #P1093,#P1094
Bitfields for Bus Master IDE status register:
Bit(s) Description (Table P1093)
7 (Intel) reserved (0)
(OPTI "Vendetta") both channels operable at same time (read-only)
6 drive 1 is DMA-capable
5 drive 0 is DMA_capable
4-3 reserved
2 IDE interrupt pending
write 1 to this bit to clear it
1 IDE DMA error
write 1 to this bit to clear it
0 bus master IDE active (read-only)
SeeAlso: #P1092,#P1094
Bitfields for Bus Master IDE descriptor table pointer register:
Bit(s) Description (Table P1094)
31-2 descriptor table base address bits 31-2
1-0 reserved (0)
Notes: (Intel 82371) the descriptor table must not cross a 4K boundary
(OPTi "Vendetta") the descriptor table must not cross a 64K boundary
SeeAlso: #P1092,#P1093
----------Pxxxx------------------------------
PORT xxxx - Intel 82371SB - USB Host I/O Registers
InstallCheck: see #01215 at INT 1A/AX=B10Ah
SeeAlso: #01215
+000w RW USB command register (see #P1095)
+002w Rw USB status (see #P1096)
+004w RW USB interrupt enable (see #P1097)
+006w RW Frame Number (see #P1098)
+008d RW Frame List Base Address
(bits 11-0 must be written as zeros)
+00C RW Start of Frame Modify (see #P1099)
+010w RW port 1 status/control (see #P1100)
+012w RW port 2 status/control (see #P1100)
Bitfields for Intel 82371SB USB command register:
Bit(s) Description (Table P1095)
15-8 reserved
7 maximum packet size (0=32 bytes, 1=64 bytes)
6 Host Controller has been configured (set by software)
5 software debug mode
4 force global resume
3 enter global suspend mode
2 global reset
1 host controller reset
0 run/stop schedule (0=stop, 1=run)
SeeAlso: #P1096
Bitfields for Intel 82371SB USB status register:
Bit(s) Description (Table P1096)
15-6 reserved
5 host controller halted
4 host controller process error
3 PCI bus error
2 resume received
1 USB error interrupt
0 USB interrupt
Note: to clear a bit in this register, write a 1 to it
SeeAlso: #P1095
Bitfields for Intel 82371SB USB interrupt enable register:
Bit(s) Description (Table P1097)
15-4 reserved
3 enable short packet interrupts
2 enable Interrupt On Complete
1 enable Resume
0 enable Timeout/CRC
SeeAlso: #P1096,#P1098
Bitfields for Intel 82371SB Frame Number register:
Bit(s) Description (Table P1098)
15-11 reserved
10-0 Frame List Current Index/Frame Number
incremented at end of each time frame (~1ms)
Note: only WORD writes are allowed to this register
SeeAlso: #P1095,#P1097
Bitfields for Intel 82371SB Start of Frame Modify register:
Bit(s) Description (Table P1099)
7 reserved
6-0 SOF timing value (default 64)
Note: SOF cycle time equals 11936+timing value
SeeAlso: #P1095
Bitfields for Intel 82371SB Port 1/2 status/control register:
Bit(s) Description (Table P1100)
15-13 reserved (0)
12 suspend port
11-10 reserved
9 port in Reset State
8 low-speed device is attached (read-only)
7 reserved (1)
6 resume detected (read-only)
5-4 line status (read-only)
bit 4: D+ signal line
bit 5: D- signal line
3 port enabled/disabled status has changed
write 1 to this bit to clear it
2 port is enabled
1 connect status has changed
write 1 to this bit to clear it
0 current connect status (read-only)
Note: only WORD writes are permitted to this register
SeeAlso: #P1095
--------!---CREDITS--------------------------
Wim Osterholt <wim@djo.wtm.tudelft.nl> Original File
Chuck Proctor <71534.2302@CompuServe.COM>
Richard W. Watson <73042.1420@CompuServe.COM>
Matthias Paul <mpaul@ibh.rwth-aachen.de>
Serguei Shtyliov <serge.fido@coudert.msk.ru> Xirlink XL-22x
Serguei Shtyliov <serge.fido@coudert.msk.ru> TMC-16x0 SCSI
Serguei Shtyliov <serge.fido@coudert.msk.ru> AHA-154x SCSI
MPU-401 MIDI
Some of the information in this list was extracted from Frank van Gilluwe's
_The_Undocumented_PC_, a must-have book for anyone programming down to the
"bare metal" of a PC.
Some of the information in this list from the shareware version of Dave
Williams' DOSREF, v3.0.
8514/A hardware ports found in FractInt v18.0 source file FR8514A.ASM
Compaq QVision info from the _COMPAQ_QVision_Graphics_System_Technical_
_Reference_Guide_, second edition (October 1993). Compaq part number
073A/0693. Much more to come!
AMI keyboard controller PORT 0064h commands from the American Megatrends, Inc.
_Version_KF_and_KH_Keyboard_Controller_BIOS_Reference_, available on the
AMI BBS and american.megatrends.com as KFKHMAN.ZIP.
Various chipset infos from "Het BIOS Boekje" 2nd edition, by Alle Metzlar,
ISBN 90-72260-59-7 (1995).
ATA-3 info from "AT Attachment-3 Interface (ATA-3) Revision 1", dated
April 21, 1995.
Some additional EISA info from _EISA_System_Architecture_ (second edition),
by MindShare, Inc. (Addison-Wesley 1995, ISBN 0-201-40995-X).
AMI BIOS diagnostics codes (port 0080h) from file CHECKPTS on AMI BBS.
Some S3 and additional ATI Mach8/Mach32 info from Richard F. Ferraro's
_Programmer's_Guide_to_the_EGA,_VGA,_and_Super_VGA_Cards_, third edition.
PCnet-ISA info from _Am79C960_PCnet-ISA(tm)_Technical_Manual_, May 1992,
available from www.amd.com as 16850B.PDF; additional details from file
16907B.PDF.
PCnet-SCSI info from _Am79C974 PCnet(tm)-SCSI_Combination_Ethernet_and_SCSI_
_Controller_for_PCI_Systems_, available from www.amd.com as 18681B.PDF.
PCnet-FAST info from _Am79C971 PCnet(tm)-FAST_Single-Chip_Full-Duplex_10/100_
_Mbps_Ethernet_Controller_for_PCI_Local_Bus_, available from www.amd.com as
20550B.PDF.
S.M.A.R.T. information from _Self-Monitoring,_Analysis,_and_Reporting_
_Technology_(S.M.A.R.T.)_(SFF-8035i)_, Revision 2.0, April 1, 1996.
Available as 8035r2_0.PDF from fission.dt.wdc.com/pub/standards/SFF/.
A variety of ports from Frank van Giluwe's _The_Undocumented_PC_, second
edition.
[many more sources listed in BIBLIO.LST]
--------!---Admin----------------------------
Highest Table Number = P1016
--------!---FILELIST-------------------------
Please redistribute all of the files comprising the interrupt list (listed at
the beginning of the list and in INTERRUP.1ST) unmodified as a group, in a
quartet of archives named INTER60A through INTER60D (preferably the original
authenticated PKZIP archives), and the utility and hypertext programs in a trio
of additional archives called INTER60E.ZIP to INTER60G.ZIP.
Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999 Ralf Brown
--------!---CONTACT_INFO---------------------
Internet: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
FIDO: Ralf Brown 1:129/26.1